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.
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
"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.
" ciao ".strip() # 'ciao'
" ciao ".lstrip() # 'ciao '
" ciao ".rstrip() # ' ciao'
"___ciao___".strip("_") # 'ciao' (argomento = caratteri da togliere)Dzielenie i łączenie: 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'Podstawowy idiom: "separator".join(lista_ciagow). Wszystkie elementy
muszą być ciągami znaków, w przeciwnym razie wystąpi TypeError.
Zastępowanie: replace
"ciao mondo".replace("mondo", "Python") # 'ciao Python'
"aaaa".replace("a", "b", 2) # 'bbaa' (max 2 sostituzioni)Testy zawartości
"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") # 2Metoda 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
Mając dane `name = ' Ada Lovelace '`, oblicz `cleaned` jako zmienną `name` bez spacji na krańcach i zapisaną małymi literami. Oceń `cleaned`.
Pokaż wskazówkę
Połącz metody w łańcuch: najpierw strip(), potem lower().
Rozwiązanie dostępne po 3 próbach
Ćwiczenie powtórzeniowe
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`.
Pokaż wskazówkę
split dzieli, join łączy z powrotem.
Rozwiązanie dostępne po 3 próbach
Dodatkowe wyzwanie
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.
Pokaż wskazówkę
Połącz wywołania w łańcuch: raw_text.strip().upper().
Rozwiązanie dostępne po 3 próbach