Перейти к основному содержимому
Модуль 4 · Урок 1 из 413/36 в курсе~12 min
Уроки модуля (1/4)

Строковые методы

Строки в Python неизменяемы: каждый метод, который их «изменяет». на самом деле возвращает новую строку, оригинал остается таким, какой он есть.

Python
s = "Ciao"
s.upper()   # 'CIAO'   (nuova stringa)
s           # 'Ciao'   (originale invariata)

Для «обновления» присвойте результат: s = s.upper().

Прописные и строчные буквы, контроль регистра

Python
"Ciao".upper()        # 'CIAO'
"CIAO".lower()        # 'ciao'
"ciao mondo".title()  # 'Ciao Mondo'
"ciao".capitalize()   # 'Ciao'
"CiAo".swapcase()     # 'cIaO'

Очистка: strip

Удаляет пробелы (пробелы, табуляции, новые строки) по краям.

Python
"  ciao  ".strip()       # 'ciao'
"  ciao  ".lstrip()      # 'ciao  '
"  ciao  ".rstrip()      # '  ciao'
"___ciao___".strip("_")  # 'ciao'   (argomento = caratteri da togliere)

Разделиться и воссоединиться: split / join

Python
"a,b,c".split(",")          # ['a', 'b', 'c']
"  ciao  mondo".split()     # ['ciao', 'mondo']   (split su whitespace, salta i vuoti)
",".join(["a", "b", "c"])  # 'a,b,c'

Основная идиома: "separator".join(list_of_strings). Все элементы должны быть строками, иначе TypeError.

Замена: replace

Python
"ciao mondo".replace("mondo", "Python")   # 'ciao Python'
"aaaa".replace("a", "b", 2)               # 'bbaa'   (max 2 sostituzioni)

Контент-тесты

Python
"image.png".endswith(".png")   # True
"http://".startswith("http")    # True
"ciao" in "ciao mondo"          # True   (operatore in)
"ciao mondo".find("mondo")      # 5      (-1 se non trovato)
"ciao mondo".count("o")         # 2

find возвращает -1, если подстрока отсутствует; index вместо этого повышает ValueError.

Строки неизменяемы

В Python строки неизменяемы: ни один строковый метод не изменяет исходную строку; вместо этого они всегда возвращают новую строку. Если вы напишете s.upper(), переменная s останется неизменной. Чтобы сохранить модификацию, необходимо ее переназначить: s = s.upper().

Попробуйте это

Упражнение#python.m4.l1.e1
Попыток: 0Загрузка…

Учитывая `name = ' Ада Лавлейс '`, вычислите `cleaned` как `name` без краевых пробелов и со всеми строчными буквами. Оцените «очищено».

Загрузка редактора…
Показать подсказку

Объедините методы: сначала Strip(), затем Lower().

Решение доступно после 3 попыток

Обзор упражнения

Упражнение#python.m4.l1.e2
Попыток: 0Загрузка…

Учитывая `csv = 'mela,pera,kiwi'`, получите список `fruits`, разделив его запятой, затем перестройте `slash_separated`, соединив его с помощью '/'. Оцените `slash_separated`.

Загрузка редактора…
Показать подсказку

разделение разбивает на части, соединение снова соединяет.

Решение доступно после 3 попыток

Дополнительная задача

Упражнение#python.m4.l1.e3
Попыток: 0Загрузка…

Учитывая строку \`raw_text = "hello world"\`, удалите начальные и конечные пробелы с помощью \`.strip()\` и преобразуйте текст в верхний регистр. Сохраните очищенный результат в «clean_text» и оцените его.

Загрузка редактора…
Показать подсказку

Объедините вызовы в цепочку: raw_text.strip().upper().

Решение доступно после 3 попыток