Przejdź do głównej treści
eLearner.app
Moduł 4 · Lekcja 1 z 413/36 w kursie~12 min
Lekcje modułu (1/4)

Metody ciągów znaków

Ciągi znaków w Pythonie są niezmienne (immutable): każda metoda, która je "modyfikuje", w rzeczywistości zwraca nowy ciąg znaków, oryginalny pozostaje bez zmian.

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

Aby dokonać "aktualizacji", przypisz wynik: s = s.upper().

Wielkie litery, małe litery, kontrola wielkości

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

Czyszczenie: strip

Usuwa białe znaki (spacje, tabulatory, znaki nowej linii) z krańców ciągu.

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

Dzielenie i łączenie: 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'

Podstawowy idiom: "separator".join(lista_ciagow). Wszystkie elementy muszą być ciągami znaków, w przeciwnym razie wystąpi TypeError.

Zastępowanie: replace

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

Testy zawartości

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

Metoda find zwraca -1, jeśli podciąg nie jest obecny; index zamiast tego zgłasza błąd ValueError.

Ciągi znaków są niezmienne

W Pythonie ciągi znaków są niezmienne: żadna metoda na ciągach znaków nie modyfikuje oryginalnego ciągu; zamiast tego zawsze zwraca nowy ciąg. Jeśli napiszesz s.upper(), zmienna s pozostanie bez zmian. Aby zapisać modyfikację, musisz ją ponownie przypisać: s = s.upper().

Spróbuj sam

Ćwiczenie#python.m4.l1.e1
Próby: 0Ładowanie...

Mając dane `name = ' Ada Lovelace '`, oblicz `cleaned` jako zmienną `name` bez spacji na krańcach i zapisaną małymi literami. Oceń `cleaned`.

Ładowanie edytora...
Pokaż wskazówkę

Połącz metody w łańcuch: najpierw strip(), potem lower().

Rozwiązanie dostępne po 3 próbach

Ćwiczenie powtórzeniowe

Ćwiczenie#python.m4.l1.e2
Próby: 0Ładowanie...

Mając dane `csv = 'mela,pera,kiwi'`, uzyskaj listę `fruits` poprzez podział na przecinkach, a następnie odbuduj `slash_separated` łącząc elementy za pomocą ' / '. Oceń `slash_separated`.

Ładowanie edytora...
Pokaż wskazówkę

split dzieli, join łączy z powrotem.

Rozwiązanie dostępne po 3 próbach

Dodatkowe wyzwanie

Ćwiczenie#python.m4.l1.e3
Próby: 0Ładowanie...

Mając dany ciąg znaków `raw_text = " hello world "`, usuń wiodące i końcowe białe znaki za pomocą `.strip()` i przekonwertuj tekst na wielkie litery. Zapisz oczyszczony wynik w zmiennej `clean_text` i oceń go.

Ładowanie edytora...
Pokaż wskazówkę

Połącz wywołania w łańcuch: raw_text.strip().upper().

Rozwiązanie dostępne po 3 próbach