Python: le stringhe, metodi e tecniche di slicing

Python: le stringhe, metodi e tecniche di slicing

11 Ago 2018 5 Di Admin M.

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:

 

Stringhe - 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:

 

Stringhe slicing - Python

 

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:

 

Stringhe oggetti immutabili - Python

 

Per poterlo fare dobbiamo riassegnare l’intera stringa, utilizziamo le tecniche di slicing che abbiamo imparato:

 

Nuova stringa con tecniche di slicing - Python

 

Come possiamo notare, per concatenare tra di loro più stringhe possiamo utilizzare il simbolo “+”:

 

Concatenare stringhe - Python

 

E’ possibile perfino moltiplicare una stringa per un numero interno, utilizzando il simbolo “*”, in questo modo:

 

Moltiplicare stringhe - Python

 

 

Delimitazione e simboli ‘speciali’

 

Possiamo delimitare una stringa con doppi apici; in tal caso la stringa può anche contenere degli apici singoli:

 

Delimitazione doppi apici stringhe - Python

 

Oppure, al contrario, possiamo usare come delimitatore l’apice singolo e all’interno della stringa utilizzare apici doppi:

 

Delimitazione apice singolo stringhe - Python

 

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”:

 

Backslash stringhe - Python

 


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:

 

Stringhe su più righe - Python

 

 

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:

 

Stringhe metodo find - Python

 

  • strip rimuove gli spazi all’inizio e alla fine di una stringa:

 

Stringhe metodo strip - Python

 

  • replace  sostituisce una sottostringa con un’altra:

 

Stringhe metodo replace - Python

 

  • split  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:

 

Stringhe metodi split e join - Python

 

  • 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:

 

Stringhe metodo list - Python

 

 


 

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!

 

newsletter foto