Stringhe in Python
Cosa sono le stringhe?
Sezione intitolata “Cosa sono le stringhe?”Una stringa rappresenta testo, come un nome, un messaggio o una frase. In Python si scrive tra virgolette singole '...' o doppie "...":
nome = "Alice"saluto = 'Ciao, mondo!'Puoi usare le virgolette doppie quando il testo contiene un apostrofo, e quelle singole quando contiene virgolette doppie:
con_apice = "It's a great day" # apostrofo dentro → virgolette doppie fuoricon_virgolette = 'Disse "ciao!"' # virgolette doppie dentro → singole fuoriPer un testo su più righe usa le virgolette triple:
poesia = """Questa stringasi estende supiù righe."""Accedere ai singoli caratteri
Sezione intitolata “Accedere ai singoli caratteri”Come nelle liste, ogni carattere ha un 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)
Sezione intitolata “Estrarre una parte di stringa (slicing)”Puoi estrarre una sottostringa indicando l’indice iniziale e quello finale:
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
Sezione intitolata “Lunghezza di una stringa”testo = "Python"print(len(testo)) # 6Mettere stringhe insieme
Sezione intitolata “Mettere stringhe insieme”Con + puoi unire due stringhe; con * puoi ripetere una stringa:
a = "Ciao"b = " mondo"print(a + b) # Ciao mondoprint(a * 3) # CiaoCiaoCiaoLe f-string: inserire variabili nel testo
Sezione intitolata “Le f-string: inserire variabili nel testo”Per inserire variabili nel testo puoi usare 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 rendono espliciti i valori inseriti nella stringa e sono adatte a questo caso.
Metodi utili delle stringhe
Sezione intitolata “Metodi utili delle stringhe”Le stringhe hanno molti metodi integrati. Questi sono alcuni dei più usati.
Cambiare maiuscole e rimuovere spazi
Sezione intitolata “Cambiare maiuscole e rimuovere spazi”testo = " Ciao, Mondo! "
print(testo.upper()) # " CIAO, MONDO! ": tutto maiuscoloprint(testo.lower()) # " ciao, mondo! ": tutto minuscoloprint(testo.strip()) # "Ciao, Mondo!": rimuove spazi iniziali e finaliCercare, sostituire e dividere
Sezione intitolata “Cercare, sostituire e dividere”testo = "Ciao, Mondo!"
print(testo.replace("Mondo", "Python")) # "Ciao, Python!"
frutta = "mela,banana,ciliegia"print(frutta.split(",")) # ['mela', 'banana', 'ciliegia']: divide in listaprint(",".join(["mela", "banana", "ciliegia"])) # "mela,banana,ciliegia": unisceControllare il contenuto
Sezione intitolata “Controllare il contenuto”testo = "ciao"
print(testo.capitalize()) # "Ciao": prima lettera maiuscolaprint(testo.startswith("ci")) # True: inizia con "ci"?print(testo.endswith("ao")) # True: finisce con "ao"?print(testo.find("ia")) # 1: dove inizia "ia"? (-1 se non trovato)print(testo.count("a")) # 1: quante volte compare "a"?Caratteri speciali
Sezione intitolata “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
Sezione intitolata “Le stringhe non si modificano”Le stringhe sono immutabili: non puoi cambiare un singolo carattere. Per ottenere una versione 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