Stringhe
Cosa sono le stringhe?
Section titled “Cosa sono le stringhe?”Una stringa è semplicemente del testo: un nome, un messaggio, una frase. In Python le stringhe si scrivono tra virgolette singole '...' o doppie "...":
nome = "Alice"saluto = 'Ciao, mondo!'Usa virgolette doppie se dentro il testo c’è un apostrofo, e singole se c’è già una virgoletta doppia:
con_apice = "It's a great day" # apostrofo dentro → virgolette doppie fuoricon_virgolette = 'Disse "ciao!"' # virgolette doppie dentro → singole fuoriPer testo su più righe, usa le virgolette triple:
poesia = """Questa stringasi estende supiù righe."""Accedere ai singoli caratteri
Section titled “Accedere ai singoli caratteri”Come nelle liste, ogni carattere ha una posizione (indice) che parte da 0:
testo = "Python"print(testo[0]) # P — primo carattereprint(testo[1]) # yprint(testo[-1]) # n — ultimo carattereprint(testo[-2]) # o — penultimoEstrarre una parte di stringa (slicing)
Section titled “Estrarre una parte di stringa (slicing)”Puoi estrarre una sottostringa indicando da dove a dove:
testo = "Python"print(testo[0:3]) # Pyt — dalla posizione 0 alla 2 (3 esclusa)print(testo[2:]) # thon — dalla posizione 2 alla fineprint(testo[:4]) # Pyth — dall'inizio alla posizione 3print(testo[::-1]) # nohtyP — la stringa al contrarioLunghezza di una stringa
Section titled “Lunghezza di una stringa”testo = "Python"print(len(testo)) # 6Mettere stringhe insieme
Section titled “Mettere stringhe insieme”Puoi unire due stringhe con + e ripetere una stringa con *:
a = "Ciao"b = " mondo"print(a + b) # Ciao mondoprint(a * 3) # CiaoCiaoCiaoLe f-string: il modo migliore per inserire variabili
Section titled “Le f-string: il modo migliore per inserire variabili”Invece di unire le stringhe con + (che è scomodo), usa le f-string: scrivi una f prima delle virgolette e metti le variabili tra parentesi graffe {}:
nome = "Alice"eta = 16print(f"Mi chiamo {nome} e ho {eta} anni.")# Mi chiamo Alice e ho 16 anni.
a = 5b = 3print(f"La somma di {a} e {b} è {a + b}.")# La somma di 5 e 3 è 8.Le f-string sono la forma moderna e più leggibile. Usale sempre quando devi mettere variabili nel testo.
Metodi utili delle stringhe
Section titled “Metodi utili delle stringhe”Le stringhe hanno molti strumenti integrati. Eccone i più utili:
testo = " Ciao, Mondo! "
print(testo.upper()) # " CIAO, MONDO! " — tutto maiuscoloprint(testo.lower()) # " ciao, mondo! " — tutto minuscoloprint(testo.strip()) # "Ciao, Mondo!" — rimuove spazi iniziali e finaliprint(testo.replace("Mondo", "Python")) # " Ciao, Python! "
testo2 = "mela,banana,ciliegia"print(testo2.split(",")) # ['mela', 'banana', 'ciliegia'] — divide in listaprint(",".join(["mela", "banana", "ciliegia"])) # "mela,banana,ciliegia" — unisce
testo3 = "ciao"print(testo3.capitalize()) # "Ciao" — prima lettera maiuscolaprint(testo3.startswith("ci")) # True — inizia con "ci"?print(testo3.endswith("ao")) # True — finisce con "ao"?print(testo3.find("ia")) # 1 — dove inizia "ia"?print(testo3.count("a")) # 1 — quante volte compare "a"?Caratteri speciali
Section titled “Caratteri speciali”Alcune combinazioni di caratteri con \ hanno un significato speciale:
| Sequenza | Significato | Esempio |
|---|---|---|
\n | Nuova riga | "Prima riga\nSeconda riga" |
\t | Tabulazione (spazi) | "Nome:\tAlice" |
\\ | Un singolo backslash | "C:\\Users\\Alice" |
\" | Virgolette doppie dentro la stringa | "Disse \"ciao!\"" |
print("Prima riga\nSeconda riga")# Prima riga# Seconda riga
print("Nome:\tAlice")# Nome: AliceLe stringhe non si modificano
Section titled “Le stringhe non si modificano”Attenzione: le stringhe sono immutabili. Non puoi cambiare un singolo carattere. Se hai bisogno di una stringa modificata, devi crearne una nuova:
testo = "ciao"# testo[0] = "C" — ERRORE! Non si può modificare
# Crea invece una nuova stringatesto = "C" + testo[1:]print(testo) # Ciao