Строки и их методы
Работа со строками
Строка (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().
# Результат появится здесь...