Stringhe Python

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.

💡 Idea chiave

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.

⚠️ Errore concettuale comune

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

  1. Che cos’è una stringa in Python?
  2. Come funziona l’indicizzazione?
  3. Qual è la differenza tra indice positivo e negativo?
  4. Che cosa si intende per slicing?
  5. Perché le stringhe sono dette immutabili?

8.11 Esercizi

  1. Scrivi un programma che stampi il primo e l’ultimo carattere di una parola.
  2. Scrivi un programma che estragga una sottostringa con slicing.
  3. Usa upper(), lower() e replace() su una stringa scelta da te.

Approfondimento ufficiale:

documentazione Python sulle stringhe


⬅️ Capitolo precedente
Capitolo successivo in preparazione ➡️

Articoli simili