бесплатно без регистрации урок 3 из 14

Строки

Работать с текстом: длина и склейка, номера знаков и срезы, методы строк и проверки перед сравнением.

6 мин чтения · 4 главы ·5 заданий ·домашняя работа

Строка, длина, склейка

Строка — это текст: слово, предложение, номер телефона, что угодно между кавычками.

имя = "Аня"
фраза = 'привет'
пусто = ""

Кавычки одинарные и двойные равноправны. Выбирают те, которых нет внутри самого текста:

print("он сказал 'да'")
print('кавычки "вот такие"')

он сказал 'да' кавычки "вот такие"

Длину даёт len — считает знаки, включая пробелы:

print(len("Питон"))
print(len("два слова"))
print(len(""))

5 9 0

Складывать строки можно плюсом — это называется склейкой:

имя = "Аня"
print("Привет, " + имя + "!")

Привет, Аня!

А умножать на число — повторением. Приём из тех, что удивляют в первый раз и потом постоянно нужны:

print("-" * 20)
print("ха" * 3)

-------------------- хахаха

Номера знаков и срезы

К каждому знаку строки можно обратиться по номеру. Номера идут с нуля.

Питон01234-5-4-3-2-1«Питон»[0] это «П», «Питон»[-1] это «н»последний знак берут через -1, а не через длину минус один
Слева номера идут с нуля, справа — с минус единицы. Оба ряда указывают на одни и те же буквы.
слово = "Питон"
print(слово[0])
print(слово[2])
print(слово[-1])

П т н

Отрицательные номера считают с конца: -1 — последний знак, -2 — предпоследний. Это удобнее, чем слово[len(слово) - 1], и пишут почти всегда так.

Срез берёт кусок строки. Записывается двумя номерами через двоеточие:

П и т о н 4 2с этогодо этого, не включая[1:4] — это «ито»4 − 1 = 3 знака
Первый номер входит, второй нет. Отсюда правило: длина среза — это разность номеров.
слово = "Питон42"
print(слово[1:4])
print(слово[:5])
print(слово[5:])

ито Питон 42

Правило одно, и оно объясняет всё: первый номер входит, второй — нет. Пропущенный номер означает «от начала» или «до конца».

Отсюда удобное следствие: длина куска — это разность номеров. [1:4] даёт ровно 3 знака.

дата = "2026-03-31"
print(дата[:4])
print(дата[5:7])
print(дата[-2:])

2026 03 31

Методы строк

У строки есть методы — действия, которые пишут через точку после неё.

имя = "  Аня  "
print(имя.strip())
print("привет".upper())
print("ПРИВЕТ".lower())

Аня ПРИВЕТ привет

strip убирает пробелы по краям, upper и lower меняют регистр. Все три возвращают новую строку — старая остаётся прежней.

имя = "  Аня  "
имя.strip()
print("[" + имя + "]")
имя = имя.strip()
print("[" + имя + "]")

[ Аня ] [Аня]

Вторая строка ничего не изменила: результат никуда не записали, и он пропал. Это самая частая ошибка со строками.

Ещё четыре метода, которые нужны постоянно:

print("раз,два,три".split(","))
print("-".join(["а", "б", "в"]))
print("привет мир".replace("мир", "Питон"))
print("файл.txt".endswith(".txt"))

['раз', 'два', 'три'] а-б-в привет Питон True

split режет строку по разделителю и даёт список. join — обратное действие: собирает список в строку. replace заменяет, endswith проверяет конец.

Проверки и сравнение

Проверить, есть ли кусок внутри строки, проще всего словом in:

print("тон" in "Питон")
print("кот" in "Питон")

True False

Ответ — True или False. Это логический тип, и следующий урок будет целиком про него.

Ещё три проверки, которые нужны постоянно:

print("файл.txt".startswith("файл"))
print("файл.txt".endswith(".txt"))
print("12345".isdigit())

True True True

isdigit отвечает, состоит ли строка только из цифр. Так проверяют, можно ли превратить текст в число, не получив ошибку:

значение = "42"
print(значение.isdigit())
print("4.2".isdigit())
print("сорок".isdigit())

True False False

Обратите внимание: «4.2» — не цифры, потому что точка цифрой не является.

Сравнивать строки можно как числа — знаками == и !=:

print("Аня" == "Аня")
print("Аня" == "аня")
print("Аня".lower() == "аня")

True False True

Регистр важен. Поэтому перед сравнением данных, пришедших от человека, почти всегда пишут .strip().lower().

Задания урока

Каждое проверяется сразу: ответ сверяется с эталоном, и на неверный вариант приходит разбор.

  1. В «слово» лежит «Питон». Напечатайте его длину.легко
  2. В «дата» лежит «2026-03-31». Напечатайте только год.средне
  3. В «слово» лежит «Питон». Напечатайте его задом наперёд.средне
  4. В «строка» лежит «Иванов;менеджер;120000». Разрежьте её по точке с запятой и напечатайте только должность.средне
  5. В «город» лежит « МОСКВА ». Приведите его к виду «москва» — без пробелов и строчными — и напечатайте в квадратных скобках.сложно
Пройти урок с проверкой заданий Курс «Python» открыт и бесплатен, прогресс сохраняется.
Открыть курс