Строки и их методы

Урок 3 из 32

Работа со строками

Строка (str) — это последовательность символов: букв, цифр, знаков препинания, пробелов. Важная особенность строк в Python — неизменяемость: методы вроде upper() не меняют исходную строку "на месте", а возвращают новую. Исходная переменная остаётся прежней, пока вы не перезапишете её результатом.

s = "привет"
s.upper()          # создало новую строку "ПРИВЕТ", но никуда её не сохранило
print(s)           # всё ещё "привет" — исходная строка не изменилась!

s = s.upper()      # а вот так — правильно, результат сохранён обратно в s
print(s)           # ПРИВЕТ

Самые полезные методы строк

s = "  Привет, Мир!  "
print(s.strip())         # 'Привет, Мир!'   — убирает пробелы по краям (не в середине!)
print(s.strip().upper()) # 'ПРИВЕТ, МИР!'    — в верхний регистр
print(s.strip().lower()) # 'привет, мир!'    — в нижний регистр
print(len(s.strip()))    # 12                — длина строки (количество символов)
print(s.strip().replace("Мир", "Питон"))     # 'Привет, Питон!' — замена подстроки
print(s.strip().split(", "))                 # ['Привет', 'Мир!'] — разбить на список
print("а" in s.lower())  # True              — проверка "содержит ли строка подстроку"

Методы можно "соединять цепочкой" — вызывать один за другим прямо на результате предыдущего: s.strip().upper() сначала уберёт пробелы, а затем сразу переведёт результат в верхний регистр.

f-строки: сборка текста из переменных

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

name = "Аня"
age = 20
print(f"Привет, {name}! Тебе {age} лет.")
# Привет, Аня! Тебе 20 лет.

print(f"Через год будет {age + 1}")   # внутри {} можно писать выражения
# Через год будет 21

До появления f-строк (Python 3.6+) использовали .format() или конкатенацию через + — вы ещё можете встретить такой код в старых проектах: "Привет, " + name + "!". Работает так же, но f-строки читаются гораздо понятнее, особенно когда переменных много.

⚠️ Частая ошибка: попытка склеить строку и число через +: "Возраст: " + 25 вызовет TypeError, потому что Python не знает, как "сложить" текст и число. Число нужно сначала превратить в строку: "Возраст: " + str(25), либо — что удобнее — использовать f-строку: f"Возраст: {25}", там такой проблемы нет.

🧪 Практическое задание

Дана строка s = ' Привет, Мир! '. Уберите пробелы по краям с помощью strip() и выведите результат в верхнем регистре (upper()) одним print().

main.py
Вывод терминала
# Результат появится здесь...