Lezioni del modulo (1/4)
Metodi delle stringhe
Le stringhe in Python sono immutabili: ogni metodo che le "modifica" in realtà restituisce una nuova stringa, l'originale resta com'è.
s = "Ciao"
s.upper() # 'CIAO' (nuova stringa)
s # 'Ciao' (originale invariata)Per "aggiornare" assegni il risultato: s = s.upper().
Maiuscole, minuscole, controllo case
"Ciao".upper() # 'CIAO'
"CIAO".lower() # 'ciao'
"ciao mondo".title() # 'Ciao Mondo'
"ciao".capitalize() # 'Ciao'
"CiAo".swapcase() # 'cIaO'Pulizia: strip
Rimuove whitespace (spazi, tab, newline) dai bordi.
" ciao ".strip() # 'ciao'
" ciao ".lstrip() # 'ciao '
" ciao ".rstrip() # ' ciao'
"___ciao___".strip("_") # 'ciao' (argomento = caratteri da togliere)Spezzare e ricomporre: 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'Idiom fondamentale: "separatore".join(lista_di_stringhe). Tutti gli elementi
devono essere stringhe, altrimenti TypeError.
Sostituzione: replace
"ciao mondo".replace("mondo", "Python") # 'ciao Python'
"aaaa".replace("a", "b", 2) # 'bbaa' (max 2 sostituzioni)Test sul contenuto
"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 ritorna -1 se la sottostringa non c'è; index invece solleva
ValueError.
Le stringhe sono immutabili
In Python le stringhe sono immutabili: nessun metodo altera la stringa originale, ma restituisce sempre una nuova stringa. Se scrivi s.upper(), la variabile s non cambia. Per memorizzare la modifica devi riassegnarla: s = s.upper().
Prova tu
Data `name = ' Ada Lovelace '`, calcola `cleaned` come `name` senza spazi ai bordi e tutto minuscolo. Valuta `cleaned`.
Mostra suggerimento
Concatena i metodi: prima strip(), poi lower().
Soluzione disponibile dopo 3 tentativi
Esercizio di ripasso
Data `csv = 'mela,pera,kiwi'`, ottieni la lista `fruits` separando per virgola, poi ricomponi `slash_separated` unendo con ' / '. Valuta `slash_separated`.
Mostra suggerimento
split spezza, join ricompone.
Soluzione disponibile dopo 3 tentativi
Sfida aggiuntiva
Data la stringa `raw_text = " hello world "`, rimuovi gli spazi iniziali e finali con `.strip()` e converti tutto in maiuscolo. Salva il risultato pulito in `clean_text` e valutalo.
Mostra suggerimento
Combina le chiamate in catena: raw_text.strip().upper().
Soluzione disponibile dopo 3 tentativi