Tipi di variabili in Python
Nel linguaggio Python si possono usare i tradizionali tipi di variabili che troviamo anche negli altri linguaggi.
- Le variabili numeriche intere
- Le variabili intere decimali ( float )
- Le variabili alfanumeriche ( stringhe )
- Le variabili booleane ( true, false, none )
Il linguaggio python permette di cambiare il tipo di dato della variabile in qualsiasi momento, direttamente tramite una nuova assegnazione.
La dichiarazione delle variabili in Python
Il linguaggio Python utilizza la tipizzazione dinamica delle variabili.
In python non occorre dichiarare il tipo di variabile prima di usarla
E' sufficiente assegnare un dato a una variabile.
L'interprete riconosce automaticamente il dato e assegna alla variabile il tipo di dato ( numerica, stringa, booleana ).
Le variabili intere
Per assegnare un numero intero a una variabile, indico il numero intero dopo il simbolo uguale e senza virgolette.
variabile = valore
Esempio pratico di assegnazione
anno=2000
L'interprete riconosce che la variabile anno è una variabile numerica intera perché è assegnata a un numero intero ( 2000 ).
Le variabili alfanumeriche
Per assegnare una stringa a una variabile, indico la stringa dopo il simbolo uguale tra due virgolette " "
variabile = "stringa"
oppure tra due apici ' '
variabile = 'stringa'
I due metodi ( apici o virgolette ) sono equivalenti.
Esempio di assegnazione
nome="Andrea"
cognome='Minini'
La variabile nome è una variabile alfanumerica perché è assegnata a una stringa di caratteri ( "Andrea" ).
Anche la variabile cognome è una variabile alfanumerica, perché la stringa si trova tra due apici ( 'Minini' ).
Doppie virgolette o doppi apici?
Nell'assegnazione di una stringa posso usare sia le doppie virgolette "" che i doppi apici ''.
In molti casi è lo stesso.
Spesso, la scelta dipende dalla presenza dei caratteri speciali nella stringa.
Esempio
Se nel testo ci sono degli apici, usando le virgolette come delimitatori trasformo gli apici interni da caratteri speciali a normali.
testo="questo è l'esempio"
Viceversa, se nel testo ci sono delle virgolette, usando gli apici come delimitatori trasformo le virgolette interne da caratteri speciali a normali.
testo='il simbolo " delle virgolette'
Non va bene, invece, usare un apice e una virgoletta come delimitatori della stringa.
In quest'ultimo caso l'interprete andrebbe in errore.
>>> nome='andrea"
File "<stdin>", line 1
nome='andrea"
Come cambiare il tipo di dato della variabile
Per modificare il tipo di dato di una variabile, basta assegnargli il nuovo valore. E' molto facile.
La nuova assegnazione cambia anche il tipo di dato.
Esempio
In questo script assegno due valori alla stessa variabile.
anno=2018
anno="2018"
Nella prima istruzione la variabile è di tipo numerico intero.
Nella seconda istruzione, invece, diventa di tipo alfanumerico perché gli assegno una stringa.
Nota. In altri linguaggi di programmazione come C o Java il cambio di dato tramite l'assegnazione genera un messaggio di errore. In python, invece, è elaborato senza alcun problema. E' sintatticamente corretto.
Pur essendo sintatticamente corretto, sconsiglio di cambiare il tipo di dato di una stessa variabile in uno script perché può causare errori imprevisti durante le operazioni di elaborazione.
Un esempio di errore imprevisto
L'operatore + svolge operazioni diverse a seconda del tipo di dato:
- somma i valori numerici
- concatena le stringhe alfanumeriche
Tuttavia, non posso sommare un valore numerico con una stringa o concatenare una stringa con un valore numerico.
>>> anno=2018
>>> print(anno+1)
2019
>>> anno="2018"
>>> print(anno+1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: must be str, not int
Se gli operandi dell'operazione non hanno lo stesso tipo di dato, l'interprete python restituisce un messaggio di errore.
Le liste del linguaggio Python
A differenza degli altri linguaggi, il Python si distingue per le variabili vettore ( o liste ). Sono molto più sviluppate e avanzate.
Cos'è un vettore? E' una variabile che contiene all'interno un elenco di elementi numerici o alfanumerici. Ogni dato è associato biunivocamente a un numero indice per individuare la posizione nella serie. Da un punto di vista grafico un vettore è una colonna di dati con più righe. Se il vettore contiene più colonne è detto matrice.
Le principali liste del linguaggio Python