Статья

Python: строки

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

«Python: строки» — тема, где важно не заучивание, а аккуратность. Показываем по шагам: определения, разбор типового задания, оформление ответа и критерии.

Что такое строки в Python

Если программа должна работать с именами, сообщениями, ответами пользователя или текстом из файла, без строк не обойтись. Ошибки здесь часто появляются из-за кавычек, пробелов и попытки изменить строку «на месте». Разберём тему по шагам, чтобы ты уверенно читал код, решал задания ОГЭ и ЕГЭ и мог проверить себя на бесплатной практике в личном кабинете.

Строка — это последовательность символов: букв, цифр, пробелов и знаков препинания. В Python строковое значение записывают в одинарных или двойных кавычках. Для программы оба варианта равнозначны, но внутри строки иногда удобнее использовать противоположный вид кавычек.

name = 'Анна'
message = "Доброе утро!"
quote = 'Он сказал: "Привет!"'

Пустая строка тоже существует: ''. Её длина равна нулю. Важно отличать строку '123' от числа 123: первая хранит символы, второе участвует в арифметике.

Индексы и срезы

У каждого символа есть позиция, или индекс. Отсчёт начинается с нуля: первый символ имеет индекс 0, второй — индекс 1. Отрицательные индексы идут с конца: -1 обозначает последний символ, -2 — предпоследний.

word = 'Python'
word[0] → 'P'
word[2] → 't'
word[-1] → 'n'

Срез помогает взять часть строки. Запись text[a:b] включает символ с индексом a, но не включает символ с индексом b. Поэтому для первых трёх букв используют text[0:3]. Если начало или конец не указаны, Python подставляет границу строки.

text = 'информатика'
text[:4] → 'инфо'
text[4:] → 'рматика'
text[::2] → 'инoмтка'

Третий параметр среза — шаг. Срез text[::-1] разворачивает строку. Индекс за пределами строки вызывает ошибку IndexError, поэтому перед обращением к позиции полезно проверить длину через len().

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

Подписывай индексы над строкой на черновике. Особенно внимательно отмечай границу среза: правый индекс не входит в результат.

Операции и полезные методы

Строки можно складывать и повторять. Оператор + соединяет значения, а × в объяснениях соответствует оператору * в коде: он повторяет строку указанное число раз. Длину находят функцией len(). Проверить наличие фрагмента помогает оператор in.

'Py' + 'thon' → 'Python'
'ха' * 3 → 'хахаха'
len('дом') → 3
'тон' in 'бутон' → True

Методы lower() и upper() меняют регистр, strip() убирает пробелы по краям, replace() заменяет фрагмент. Метод split() разбивает строку на список частей, а join() собирает список обратно через выбранный разделитель.

ВыражениеРезультатНазначение
text.lower()нижний регистрсравнение без учёта регистра
text.strip()текст без крайних пробеловочистка ввода
text.replace('а', 'о')замена символовредактирование текста
' '.join(words)одна строкаобъединение элементов

Методы не изменяют исходную строку, а возвращают новую. Результат нужно сохранить в переменную или сразу использовать в выражении.

Форматирование и преобразование

Частая задача — вставить значения переменных в готовое сообщение. Удобнее всего использовать f-строку: перед открывающей кавычкой ставят букву f, а выражения помещают в фигурные скобки.

name = 'Илья'
\( score = 4 \)
text = f'{name} получил оценку {score}'
→ 'Илья получил оценку 4'

Функция str() превращает число в строку, а int() и float() могут превратить строку с числом в числовой тип. Нельзя напрямую складывать строку и число: Python сообщит об ошибке типов.

\( age = 14 \)
'Мне ' + str(age) + ' лет'
int('25') + 5 → 30

Разберём пример полностью. Пусть дана строка с лишними пробелами, а нужно получить слово в верхнем регистре. Сначала strip() очищает края, затем upper() меняет регистр. Каждый вызов возвращает новую строку, поэтому методы можно записать цепочкой.

raw = ' Python '
\( clean = raw.strip() \)
\( result = clean.upper() \)
или
\( result = raw.strip().upper() \)
Ответ: 'PYTHON'

Такой порядок важен: сначала удаляем лишние пробелы, затем преобразуем уже очищенное значение.

Типичные ошибки в задачах

Первая ошибка — путать индекс и количество символов. В строке из пяти символов последний индекс равен 4, потому что нумерация начинается с нуля. Вторая — ожидать, что присваивание text[0] = 'А' заменит символ. Строки неизменяемы, поэтому нужно создать новую строку, например text = 'А' + text[1:].

Третья ошибка связана с правой границей среза: text[1:4] содержит индексы 1, 2 и 3. Четвёртая — забыть скобки у метода: lower без () является ссылкой на метод, а не результатом его работы.

Ловушка

Не сравнивай строки с разным регистром и случайными пробелами. Перед проверкой часто нужны strip() и lower(): 'Да'.strip().lower() равно 'да'.

Наконец, помни о приоритете операций. Выражение 'а' * 3 + 'б' сначала повторяет 'а', а затем присоединяет 'б'. Если результат непонятен, разбей вычисление на промежуточные переменные и проверь тип каждого значения.

Для экзамена полезно вручную отслеживать строку после каждой операции, а не пытаться угадать ответ по внешнему виду кода. Дополнительные варианты можно решить в разделе подготовки к ОГЭ или ЕГЭ.

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

Строка — последовательность символов в кавычках. Индексы начинаются с нуля, отрицательные индексы считают с конца, а срез не включает правую границу. Функция len() возвращает длину, оператор + соединяет строки, * повторяет их, in проверяет наличие фрагмента.

Методы lower(), upper(), strip(), replace(), split() и join() помогают обрабатывать текст. Они возвращают новое значение, потому что строки неизменяемы. Для вставки переменных применяй f-строки, а для безопасного соединения числа с текстом используй str().

Следующий шаг простой: зарегистрируйся и реши 5 заданий бесплатно в личном кабинете. После каждого ответа объясняй себе, какой символ стоит под каждым индексом и какой результат возвращает очередной метод. Так теория превращается в устойчивый навык.

Чем строка отличается от числа?

Строка хранит символы и записывается в кавычках: '25'. Число 25 можно складывать и умножать как значение. Для преобразования используют int(), float() или str().

Можно ли изменить один символ строки?

Нет, строки неизменяемы. Создай новую строку с помощью срезов, конкатенации или replace(). Например, text = 'А' + text[1:].

Почему срез не включает последний индекс?

Так устроено правило диапазонов Python: text[a:b] берёт позиции от a до b − 1. Это удобно для последовательного соединения соседних срезов без повторения символов.

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

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

Закрепить тему на практике

Теория без практики забывается за неделю. В личном кабинете Просто Урок — задания именно по этой теме с проверкой каждого шага. Регистрация бесплатная.

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