Vai al contenuto
eLearner.app
Modulo 4 · Lezione 1 di 413/36 nel corso~12 min
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'è.

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

Per "aggiornare" assegni il risultato: s = s.upper().

Maiuscole, minuscole, controllo case

Python
"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.

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

Spezzare e ricomporre: 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'

Idiom fondamentale: "separatore".join(lista_di_stringhe). Tutti gli elementi devono essere stringhe, altrimenti TypeError.

Sostituzione: replace

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

Test sul contenuto

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 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

Esercizio#python.m4.l1.e1
Tentativi: 0Caricamento…

Data `name = ' Ada Lovelace '`, calcola `cleaned` come `name` senza spazi ai bordi e tutto minuscolo. Valuta `cleaned`.

Caricamento editor…
Mostra suggerimento

Concatena i metodi: prima strip(), poi lower().

Soluzione disponibile dopo 3 tentativi

Esercizio di ripasso

Esercizio#python.m4.l1.e2
Tentativi: 0Caricamento…

Data `csv = 'mela,pera,kiwi'`, ottieni la lista `fruits` separando per virgola, poi ricomponi `slash_separated` unendo con ' / '. Valuta `slash_separated`.

Caricamento editor…
Mostra suggerimento

split spezza, join ricompone.

Soluzione disponibile dopo 3 tentativi

Sfida aggiuntiva

Esercizio#python.m4.l1.e3
Tentativi: 0Caricamento…

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.

Caricamento editor…
Mostra suggerimento

Combina le chiamate in catena: raw_text.strip().upper().

Soluzione disponibile dopo 3 tentativi