La domanda che sorge spontanea è: cosa ci potrà mai essere di particolare e innovativo nelle stringhe in Python?
Di solito le stringhe sono semplicemente sequenze di caratteri, definite tra doppi apici (esempio sotto).
Ma in Python tutto ciò che è una sequenza ha accesso alle potenti funzionalità di slicing che abbiamo visto già in precedenza ad esempio per le liste.
Inoltre una stringa, come ogni altro elemento in Python, è un oggetto dotato di metodi che ne permettono una facile gestione.
Ecco alcuni esempi di slicing con le stringhe in Python:
In Python il carattere “#” indica l’inizio di un commento.
Inserire un commento in modalità interattiva ha senso solo quando occorre fare degli esempi.
Sarà invece molto più utile nella stesura di programmi veri e propri.
C’è ancora un altro tipo di slicing che non abbiamo esaminato.
Possiamo usare un terzo parametro per indicare, oltre l’inizio e la fine della nostra “fetta”, ogni quanti elementi estrarne uno.
Chiariamo il concetto con un esempio:
Differenza tra stringhe e liste
La fondamentale differenza tra stringhe e liste consiste nel fatto che le stringhe sono oggetti immutabili.
Ovvero non possiamo assegnare un nuovo valore a partire da una stringa:
Per poterlo fare dobbiamo riassegnare l’intera stringa, utilizziamo le tecniche di slicing che abbiamo imparato:
Come possiamo notare, per concatenare tra di loro più stringhe possiamo utilizzare il simbolo “+”:
E’ possibile perfino moltiplicare una stringa per un numero interno, utilizzando il simbolo “*”, in questo modo:
Delimitazione e simboli ‘speciali’
Possiamo delimitare una stringa con doppi apici; in tal caso la stringa può anche contenere degli apici singoli:
Oppure, al contrario, possiamo usare come delimitatore l’apice singolo e all’interno della stringa utilizzare apici doppi:
Per inserire invece in una stringa un carattere di “a capo”, dobbiamo usare il simbolo backslash (la barra rovesciata), seguito dal carattere “n”, ovvero la sequenza “\n”:
La sequenza “\n” è un simbolo ‘speciale’.
Ne esistono diversi ma quelli principali sono: “\n” (LineFeed, a capo), “\r” (Carriage Return, ritorno carrello), “\b” (Backspace, indietro di un carattere), “\t” (Tab, carattere di tabulazione) e “\xHH” che permette di inserire il simbolo il cui codice ASCII è il valore esadecimale HH.
Spesso ci capiterà di dover scrivere stringhe su più righe.
Possiamo farlo utilizzando una sequenza di tre apici doppi o singoli, come nel seguente esempio:
Principali metodi per le stringhe
Anche le stringhe offrono dei metodi che permettono di manipolarle con facilità.
Sono davvero molti: capitalize, center, count, encode, endswith, expandtabs, find, format, index e via dicendo.
Ci limiteremo ad esaminare solo i principali: la documentazione di Python (ma anche help, come visto in precedenza) ci può venire in aiuto per scoprire il funzionamento degli altri metodi.
- find ricerca un carattere in una stringa e ne restituisce l’indice:
- strip rimuove gli spazi all’inizio e alla fine di una stringa:
- replace sostituisce una sottostringa con un’altra:
- split e joint vanno di pari passo: il primo spezza una stringa in una lista di più elementi, mentre il secondo unisce una lista per formare un’unica stringa, entrambi in base al simbolo passato come parametro:
- Non possiamo usare split specificando come parametro una stringa vuota per separare tutti i caratteri tra loro.
Per ottenere tale risultato possiamo utilizzare il metodo list , che restituisce una lista dei caratteri della stringa:
Ora che abbiamo avuto modo di conoscere le stringhe, possiamo proseguire con la scoperta degli altri tipi di dati che ci offre questo simpatico linguaggio di programmazione!
Segui la sezione dedicata e iscriviti alla nostra newsletter per non perdere i prossimi articoli!
5 risposte