Уроки модуля (1/4)
Строковые методы
Строки в Python неизменяемы: каждый метод, который их «изменяет». на самом деле возвращает новую строку, оригинал остается таким, какой он есть.
s = "Ciao"
s.upper() # 'CIAO' (nuova stringa)
s # 'Ciao' (originale invariata)Для «обновления» присвойте результат: s = s.upper().
Прописные и строчные буквы, контроль регистра
"Ciao".upper() # 'CIAO'
"CIAO".lower() # 'ciao'
"ciao mondo".title() # 'Ciao Mondo'
"ciao".capitalize() # 'Ciao'
"CiAo".swapcase() # 'cIaO'Очистка: strip
Удаляет пробелы (пробелы, табуляции, новые строки) по краям.
" ciao ".strip() # 'ciao'
" ciao ".lstrip() # 'ciao '
" ciao ".rstrip() # ' ciao'
"___ciao___".strip("_") # 'ciao' (argomento = caratteri da togliere)Разделиться и воссоединиться: split / join
"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
"ciao mondo".replace("mondo", "Python") # 'ciao Python'
"aaaa".replace("a", "b", 2) # 'bbaa' (max 2 sostituzioni)Контент-тесты
"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") # 2find возвращает -1, если подстрока отсутствует; index вместо этого повышает
ValueError.
Строки неизменяемы
В Python строки неизменяемы: ни один строковый метод не изменяет исходную строку; вместо этого они всегда возвращают новую строку. Если вы напишете s.upper(), переменная s останется неизменной. Чтобы сохранить модификацию, необходимо ее переназначить: s = s.upper().
Попробуйте это
Учитывая `name = ' Ада Лавлейс '`, вычислите `cleaned` как `name` без краевых пробелов и со всеми строчными буквами. Оцените «очищено».
Показать подсказку
Объедините методы: сначала Strip(), затем Lower().
Решение доступно после 3 попыток
Обзор упражнения
Учитывая `csv = 'mela,pera,kiwi'`, получите список `fruits`, разделив его запятой, затем перестройте `slash_separated`, соединив его с помощью '/'. Оцените `slash_separated`.
Показать подсказку
разделение разбивает на части, соединение снова соединяет.
Решение доступно после 3 попыток
Дополнительная задача
Учитывая строку \`raw_text = "hello world"\`, удалите начальные и конечные пробелы с помощью \`.strip()\` и преобразуйте текст в верхний регистр. Сохраните очищенный результат в «clean_text» и оцените его.
Показать подсказку
Объедините вызовы в цепочку: raw_text.strip().upper().
Решение доступно после 3 попыток