Перейти до основного вмісту
Модуль 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 = ' Ada Lovelace '`, обчислення `очищено` як `name` без пропусків по краях і тільки в нижньому регістрі. Оцініть `очищений`.

Завантаження редактора…
Показати підказку

З’єднайте методи: спочатку strip(), потім lower().

Рішення доступне після 3 спроб

Повторна вправа

вправи#python.m4.l1.e2
Спроби: 0Завантаження…

Враховуючи `csv = 'mela,pera,kiwi'`, отримайте список `фруктів`, розділивши на кому, а потім перебудуйте `slash_separated`, об’єднавши ' / '. Оцініть `slash_separated`.

Завантаження редактора…
Показати підказку

split розбиває на частини, об'єднати знову збирає разом.

Рішення доступне після 3 спроб

Додатковий виклик

вправи#python.m4.l1.e3
Спроби: 0Завантаження…

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

Завантаження редактора…
Показати підказку

Об’єднайте виклики в ланцюжок: raw_text.strip().upper().

Рішення доступне після 3 спроб