ЯдроКодаподготовка к экзаменам
Учебная платформа

Загружаем материалы

Подготавливаем материалы и навигацию по разделу.

Строки в Python: текст, кавычки и длина

Автор: · Обновлено

Строка — упорядоченная последовательность символов. Кавычки обозначают её границы и не входят в значение. Одинарные и двойные кавычки равноправны, поэтому внешний вид выбирают так, чтобы текст внутри было удобно записать.

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

name = 'Лена'
message = 'Привет, ' + name + '!'

print(message)
print(len(name))
print(len(message))

Ожидаемый вывод:

Привет, Лена!
4
12

len считает все символы, включая пробел, запятую и восклицательный знак. Индексация начинается с нуля, но подробно она будет разобрана позже. Сейчас важно отличать длину строки от числа, записанного внутри неё: len('120') равно 3, а само число 120 не имеет строковой длины без преобразования.

Кавычка внутри текста

Запись 'Книга 'Python'' синтаксически неверна: внутренняя кавычка преждевременно завершает строку. Можно использовать двойные внешние кавычки — "Книга 'Python'" — или экранировать символ обратной косой чертой. Перенос строки внутри значения записывают как ; при выводе он создаёт новую строку.

Оператор + соединяет только строки. Попытка 'Возраст: ' + 12 вызывает TypeError; число нужно преобразовать через str(12) или передать в print отдельным аргументом. Оператор * повторяет строку: 'ha' * 3 даёт 'hahaha'.

Мини-проверка текста

Прочитайте название города, сформируйте сообщение Город: ... и выведите длину исходного ввода и готового сообщения. Проверьте слово Омск и строку из двух слов с пробелом. Затем создайте рамку из десяти дефисов через умножение строки. До запуска посчитайте ожидаемые длины вручную и объясните, какие пробелы входят в результат.

Строка как значение

Создайте пять строк: пустую, из одного пробела, с переводом строки, с русским словом и с emoji. Для каждой выведите repr и len, чтобы невидимые символы стали заметны. Сравните пустую строку с пробельной после strip. Затем соберите адрес из города и улицы, намеренно пропустив разделительный пробел, и исправьте формат. В конце объясните, почему длина пользовательского ввода может не совпасть с визуальным ожиданием и почему проверка text == '' отличается от проверки not text.strip(). Эксперимент должен опираться на фактические значения, а не на внешний вид консоли.

Практикум: строка объявления с кавычками и переносами

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

Контрольная точка

Предскажите длину строки "A B" и назовите три содержащихся символа. Затем объясните, когда обратная косая черта должна остаться обычным символом и зачем может понадобиться raw-строка.

Частые вопросы

Строки в одинарных и двойных кавычках различаются?

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

Источники