Статья

Python: методы строк

5 сентября 2026~8 минут10–11 класс

Пять минут на эту статью — и «Python: методы строк» станет понятнее. Внутри: теория без воды, пример, разбор задания и чек-лист самопроверки.

Что такое методы строк в Python

Строки встречаются почти в каждой школьной задаче на Python: нужно убрать лишние пробелы, найти слово, заменить символ или проверить, состоит ли запись только из цифр. Если каждый раз решать это вручную, код получается длинным и легко запутаться. Методы строк помогают выполнять такие действия одной короткой командой. В этой статье разберём основные методы, научимся читать их запись и увидим, как применять их в задачах ОГЭ и ЕГЭ.

Строка в Python — это последовательность символов, записанная в кавычках. У строки есть методы: готовые действия, которые вызываются через точку. Общий вид такой: строка.метод(). Иногда методу передают аргументы в скобках, например новый символ или искомое слово.

text = " Python "
print(text.strip())
Результат: Python

Важно: большинство методов не изменяет исходную строку, а создаёт и возвращает новую. Поэтому результат нужно сохранить в переменную или сразу использовать в выражении.

Изменение регистра и пробелов

Для подготовки текста часто используют методы, которые меняют регистр букв. lower() переводит все буквы в нижний регистр, upper() — в верхний, а capitalize() делает заглавной первую букву строки. Метод title() меняет регистр так, чтобы каждое слово начиналось с заглавной буквы.

Методы strip(), lstrip() и rstrip() удаляют пробелы по краям строки: с обеих сторон, слева или справа соответственно. Это особенно полезно при чтении данных, когда пользователь мог случайно поставить пробел перед ответом или после него.

answer = " Да "
\( answer = answer.strip().lower() \)
print(answer)
Результат: да

Методы можно соединять в цепочку: результат одного метода сразу становится объектом для следующего. Читай такую запись слева направо и проверяй, что происходит с текстом на каждом шаге.

Совет репетитора

Перед сравнением строк часто используй strip() и lower(). Так варианты «Да», «да» и « да » можно привести к одному виду.

Поиск, проверка и замена

Метод find() ищет фрагмент и возвращает индекс его первого вхождения. Если фрагмент не найден, результатом будет −1. Метод count() считает, сколько раз встречается указанный фрагмент. Для простой проверки удобно применять startswith() и endswith(): они возвращают True или False.

Методы isalpha(), isdigit() и isalnum() проверяют, состоит ли строка только из букв, цифр или букв и цифр. Пустая строка такие проверки не проходит.

Метод replace(old, new) заменяет все найденные вхождения old на new и возвращает новую строку. Например, им можно заменить запятые на точки перед обработкой числа или убрать нежелательный символ.

code = "AB-12-XY"
print(code.count("-"))
print(code.startswith("AB"))
print(code.replace("-", ""))
Результат: 2
True
AB12XY

Индекс первого символа строки равен 0. Поэтому результат find() удобно использовать для проверки: условие if text.find("@") ≥ 0 означает, что символ найден.

Разделение и объединение строк

Метод split() разбивает строку на список частей. Без аргумента он разделяет текст по пробельным символам, а с аргументом — по указанному разделителю. Например, строку с именами можно разбить по запятой. Иногда нужно ограничить количество разбиений: тогда используют второй аргумент.

Обратная операция выполняется методом join(). Его вызывают у разделителя: разделитель.join(список). Все элементы списка должны быть строками. Если среди них есть числа, сначала преобразуй их с помощью str().

line = "Анна, Борис, Вера"
names = line.split(", ")
result = " · ".join(names)
print(names)
print(result)
Результат: ['Анна', 'Борис', 'Вера']
Анна · Борис · Вера

В задачах на обработку текста часто встречается схема: input().strip() → split() → обработка элементов → join(). Запомни её как рабочий маршрут от одной длинной строки к удобному списку данных.

Закрепить этот маршрут на коротких упражнениях можно в личном кабинете с бесплатной практикой: после теории сразу проверяй, какой список получается после split().

Полностью разобранный пример и ошибки

Задача: дана строка с несколькими словами. Посчитай количество слов, начинающихся с буквы «а», независимо от регистра и лишних пробелов.

text = " Арбуз, апельсин, Банан, ананас "
words = text.strip().lower().replace(",", "").split()
\( count = 0 \)
for word in words:
if word.startswith("а"):
\( count += 1 \)
print(count)
Результат: 3

Сначала strip() убирает пробелы по краям. Затем lower() приводит все буквы к нижнему регистру, replace() удаляет запятые, а split() превращает строку в список слов. Цикл проверяет каждое слово, а startswith("а") отвечает, начинается ли оно с нужной буквы.

Типичные ошибки: забыть скобки у метода, перепутать find() и index(), ожидать изменения исходной строки после replace(), а также вызвать join() не у разделителя. Ещё одна ошибка — считать, что isdigit() распознаёт запись с минусом или десятичной точкой: строка «−12» целиком цифрами не является.

Ловушка

Метод replace() заменяет все совпадения. Если нужно изменить только первые, передай третий аргумент: text.replace("a", "b", 1).

Что запомнить

Методы строк вызываются через точку и обычно возвращают новую строку. Для регистра запомни lower(), upper() и capitalize(); для пробелов — strip(); для поиска — find() и count(); для проверки — startswith(), endswith(), isdigit() и isalpha(); для преобразования структуры — split(), join() и replace().

ЗадачаМетодРезультат
Убрать пробелы по краямstrip()Новая строка
Разбить текстsplit()Список
Соединить элементыjoin()Строка
Проверить началоstartswith()True или False

Главный следующий шаг — не просто перечитать правила, а решить несколько небольших задач: очистить ввод, найти слово, посчитать символы и собрать строку обратно. Зарегистрируйся и реши 5 заданий бесплатно, чтобы увидеть ошибки сразу и закрепить порядок действий.

Чем метод отличается от функции?

Метод вызывается у конкретного объекта через точку: text.lower(). Функция получает объект в скобках, например len(text). Оба инструмента выполняют действие, но записываются по-разному.

Почему строка не меняется после replace()?

Строки в Python неизменяемы. replace() создаёт новую строку, поэтому результат нужно присвоить: text = text.replace("старое", "новое").

Что выбрать: find() или in?

Если нужно только узнать, встречается ли фрагмент, используй оператор in. Если требуется позиция начала фрагмента, применяй find().

Как закрепить тему после разбора?

Составь несколько собственных примеров для каждого метода, а затем реши задания на очистку, поиск и разделение текста в бесплатной практике личного кабинета.

Проверь себя на реальных заданиях

После такого разбора решите 5–7 заданий подряд — и тема ваша. Тренажёр Просто Урок подберёт их автоматически и объяснит ошибки по шагам. Бесплатно.

Важно. Материалы сайта носят информационно-образовательный характер и не являются публичной офертой (ст. 437 ГК РФ), индивидуальной консультацией или руководством к действию. Мы аккуратно работаем с фактами, но не гарантируем полную точность и актуальность: структура и правила экзаменов могут меняться — сверяйтесь с официальными источниками (ФИПИ, действующие кодификаторы и нормативные акты РФ). Администрация сайта не несёт ответственности за возможные неточности и за решения, принятые на основе материалов. Заметили неточность — напишите нам, мы исправим.