tariel.ge › Полезное: бесплатные книги › Программирование: от нулей и единиц до PythonБесплатно · автор Тариел Бежанидзе
← Учебник по программированию ЛИСТ 18БЛОК 3 — PYTHON: ОСНОВЫРЕВ. 1
Глава 18 · Python: основы

Строки и работа с текстом

Строка — тоже последовательность, как список из главы 17, только неизменяемая последовательность символов. Здесь всё, что нужно для практической работы с текстом, вплоть до тем главы 23 про автоматизацию.

Строка как последовательность — индексация и срезы работают так же

word = "Питон"
print(word[0]) # П
print(word[-1]) # н
print(word[0:3]) # Пит

Та же логика нулевого индекса и срезов, что уже разбиралась в главе 17 для списков — строка ведёт себя как последовательность символов. Но, как и кортеж (глава 17), строка неизменяема — нельзя заменить один символ на месте, только создать новую строку целиком на основе старой.

Полезные методы строк

МетодЧто делает
.upper() / .lower()В верхний / нижний регистр
.strip()Убрать пробелы (и переводы строк) по краям
.split(разделитель)Разбить строку на список по разделителю
разделитель.join(список)Собрать список обратно в строку через разделитель
.replace(старое, новое)Заменить все вхождения одной подстроки на другую
.find(подстрока)Позиция первого вхождения подстроки (-1, если не найдена)
.startswith() / .endswith()Проверка начала/конца строки

split() и join() — рабочая пара для разбора текста

line = "яблоко,банан,вишня"
fruits = line.split(",")
print(fruits) # ['яблоко', 'банан', 'вишня']

back = " | ".join(fruits)
print(back) # яблоко | банан | вишня

Эта пара методов — основа практически любой практической обработки текстовых данных: файл построчно разбирается через .split() на отдельные поля, а собранный или отфильтрованный результат снова превращается в текст через .join(). Прямое применение — скрипты автоматизации в главе 23.

Управляющие escape-последовательности — снова глава 01

Внутри строки некоторые сочетания символов означают не сами себя, а специальные "невидимые" символы: \n — перевод строки, \t — табуляция, \\ — сам символ обратного слэша, \" — кавычка внутри строки в кавычках того же типа. Это прямое продолжение идеи "управляющих символов" из таблицы ASCII (глава 03) — символов, не имеющих визуального отображения, но несущих смысл форматирования текста.

Многострочные строки

text = """Первая строка
Вторая строка
Третья строка"""

Тройные кавычки (те же, что уже встречались для docstring в главе 16) позволяют написать строку, буквально занимающую несколько строк текста в самом коде, без явных \n.

Сырые строки — полезно для путей Windows

Возврат к теме главы 10

Префикс r перед строкой (r"C:\Users\Tariel") отключает обработку escape-последовательностей — символ \ воспринимается буквально, а не как начало специальной последовательности. Это особенно удобно именно для путей Windows (глава 10), где обратный слэш — обычный разделитель пути, а не начало escape-кода — без r-префикса пришлось бы либо экранировать каждый слэш как \\, либо переходить на прямые слэши.

Кодировка текста — практическое применение главы 03

Строка в Python 3 внутри программы — это текст в терминах символов Unicode (глава 03), а не байты напрямую. Когда нужно явно превратить текст в последовательность байтов (например, для записи в файл или передачи по сети) — метод .encode(), обратное действие — .decode() у байтовой последовательности:

text = "Привет"
data = text.encode("utf-8") # текст → байты в конкретной кодировке
back = data.decode("utf-8") # байты → снова текст

Это станет практически важным уже в следующей главе, при чтении и записи файлов — файл на диске всегда хранится как байты, и явное или неявное указание кодировки определяет, как именно эти байты превращаются обратно в читаемый текст.

Практический пример: очистка пользовательского ввода

raw_input = " Тариэл \n"
clean = raw_input.strip()
print(f"[{clean}]") # [Тариэл] — без лишних пробелов и перевода строки

Комбинация .strip() сразу после получения текста (например, из поля ввода или из строки файла) — одна из самых частых первых операций в практическом коде, убирающая случайные пробелы и переводы строк, которые почти неизбежно попадают в реальные данные.

Что дальше

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

Глава18 — Строки и работа с текстом
Блок3 — Python: основы
Далее19 — Файлы: чтение и запись
СтатусГотово · рев. 1
Предыдущая глава ← 17 · Списки, словари, кортежи, множества Следующая глава 19 · Файлы: чтение и запись →

Книга бесплатна для чтения. Автор — Тариел Бежанидзе, компьютерный мастер в Батуми · tariel.ge · все бесплатные книги. Копировать текст целиком на другие сайты — только со ссылкой на источник.