Глава 8 · Играем с буквами и словами
Методы строк: поиск и разбор
Заменяем подстроки, разбиваем строку на части и снова склеиваем — а ещё ищем подстроки внутри текста.
replace() — замена подстроки
replace.py
text = "я люблю Java"
print(text.replace("Java", "Python")) # я люблю Python
split() — разбить строку на части
split() без аргументов разбивает строку по пробелам (и
группам пробелов) на список отдельных слов:
split.py
sentence = "кот и пёс"
words = sentence.split()
print(words) # ['кот', 'и', 'пёс']
print(len(words)) # 3 слова
Можно указать свой разделитель — например, запятую:
split_razdelitel.py
csv_row = "Ада,28,программист"
fields = csv_row.split(",")
print(fields) # ['Ада', '28', 'программист']
join() — обратная операция: склеить список в строку
join.py
words = ["кот", "и", "пёс"]
result = "-".join(words)
print(result) # кот-и-пёс
count() — сколько раз встречается
count.py
text = "миссисипи"
print(text.count("с")) # 4
print(text.count("си")) # 2
find() и index() — где встречается
Оба метода ищут подстроку и возвращают индекс её первого символа. Разница — в поведении, когда подстрока не найдена:
find_i_index.py
text = "Python"
print(text.find("th")) # 2 — нашли, начинается с индекса 2
print(text.find("zz")) # -1 — не нашли, find() возвращает -1
print(text.index("th")) # 2 — то же самое, что find(), если найдено
# text.index("zz") # ValueError: substring not found — index() «падает» с ошибкой!
Когда что выбрать
Если подстроки может не оказаться в тексте — используйте
find() и проверяйте результат на -1. Если вы уверены, что подстрока обязана быть (и хотите узнать сразу, если это не так), — index() сообщит об ошибке явно, а не тихо вернёт -1.startswith() и endswith()
startswith_endswith.py
filename = "otchet_2026.pdf"
print(filename.startswith("otchet")) # True
print(filename.endswith(".pdf")) # True
print(filename.endswith(".docx")) # False
★★ Самостоятельная задача
Разбираем имя файла
Для строки «report_final_v2.pdf» проверьте endswith(".pdf"), найдите позицию символа «_» методом find(), и через split("_") получите список частей имени.
Практика: поиск и разбор строк
Интерактивный ноутбук прямо в браузере — Python 3.14 через Pyodide, без установки