Capitolo 8 – Stringhe Python
Le stringhe Python rappresentano una delle strutture dati fondamentali del linguaggio e permettono di gestire testo, caratteri e sequenze in modo efficiente.
Materiale originale a cura di Alfredo Di Fiore – megistone.it
Manuale completo:
vai all’indice del corso
Le stringhe Python rappresentano uno dei tipi di dato più importanti del linguaggio: permettono di memorizzare, analizzare, confrontare e trasformare sequenze di caratteri in modo semplice ed efficace.
8.1 Obiettivi formativi
Al termine di questo capitolo lo studente sarà in grado di:
- comprendere la natura delle stringhe in Python;
- accedere ai caratteri tramite indice;
- utilizzare il slicing;
- applicare i principali metodi delle stringhe;
- analizzare errori comuni nell’uso delle sequenze di caratteri.
8.2 Che cosa sono le stringhe Python
Una stringa è una sequenza ordinata di caratteri racchiusa tra apici singoli o doppi.
nome = "Python"
saluto = 'Ciao'
Le stringhe Python appartengono al tipo str e sono utilizzate per rappresentare testo, parole, frasi e dati alfanumerici.
8.3 Indicizzazione delle stringhe
Ogni carattere di una stringa possiede un indice, cioè una posizione numerica.
parola = "Python"
print(parola[0])
print(parola[1])
In questo esempio vengono stampati rispettivamente i caratteri P e y.
L’indice in Python parte sempre da 0.
Le stringhe sono sequenze, quindi supportano accesso per indice come altri tipi sequenziali del linguaggio.
8.4 Indici negativi
Python permette anche di accedere ai caratteri partendo dalla fine della stringa usando indici negativi.
parola = "Python"
print(parola[-1])
print(parola[-2])
L’output sarà rispettivamente n e o.
8.5 Slicing del testo
Lo slicing consente di estrarre una sottostringa specificando un intervallo di indici.
parola = "Python"
print(parola[0:3])
print(parola[2:6])
Il primo esempio restituisce Pyt, il secondo thon.
L’indice finale non è incluso.
Si possono anche omettere uno o entrambi gli estremi:
print(parola[:4])
print(parola[2:])
print(parola[:])
8.6 Lunghezza di una stringa
Per conoscere il numero di caratteri di una stringa si utilizza la funzione len().
testo = "Informatica"
print(len(testo))
Il risultato è il numero totale di caratteri contenuti nella stringa.
8.7 Metodi principali delle stringhe
Le stringhe mettono a disposizione numerosi metodi utili per l’elaborazione del testo.
| Metodo | Funzione | Esempio |
|---|---|---|
upper() |
maiuscolo | "ciao".upper() |
lower() |
minuscolo | "CIAO".lower() |
strip() |
rimuove spazi laterali | " ciao ".strip() |
replace() |
sostituisce sottostringhe | "ciao".replace("c","m") |
split() |
divide una stringa | "a b c".split() |
8.8 Immutabilità delle stringhe
Le stringhe Python sono immutabili: una volta create, non possono essere modificate carattere per carattere.
parola = "Python"
# parola[0] = "J" → errore
Per ottenere una stringa modificata bisogna costruirne una nuova.
Molti principianti pensano di poter modificare direttamente un singolo carattere di una stringa. In Python questo non è possibile perché le stringhe sono immutabili.
8.9 Riepilogo
- le stringhe Python appartengono al tipo
str; - ogni carattere ha un indice, positivo o negativo;
- lo slicing consente di estrarre sottostringhe;
len()restituisce la lunghezza;- i metodi delle stringhe permettono trasformazioni molto comuni;
- le stringhe sono immutabili.
8.10 Domande tipiche d’esame
- Che cos’è una stringa in Python?
- Come funziona l’indicizzazione?
- Qual è la differenza tra indice positivo e negativo?
- Che cosa si intende per slicing?
- Perché le stringhe sono dette immutabili?
8.11 Esercizi
- Scrivi un programma che stampi il primo e l’ultimo carattere di una parola.
- Scrivi un programma che estragga una sottostringa con slicing.
- Usa
upper(),lower()ereplace()su una stringa scelta da te.
Approfondimento ufficiale:
documentazione Python sulle stringhe