Variabili
Nelle lezioni precedenti abbiamo già utilizzato le variabili, anche se forse non ce ne siamo ancora bene resi conto. In effetti le variabili sono praticamente indispensabili nella programmazione e servono ad immagazzinare dei valori per poter riessere utilizzati in seguito.
>>> a = 3
In effetti abbiamo visto subito la necessità di utilizzarle nel contesto della console di Python. Per esempio immettendo un valore con input() sarà necessario immagazzinarlo da qualche parte, e non doverlo utilizzare immediatamente per poi perderlo o doverlo reinserire una seconda volta.
>>> name = input("Enter your name")
Come vedi in questo caso la stringa che inserirai rimarrà in memoria, e ogni volta che ne avremo bisogno ci riferiremo ad essa con il nome name. Potete utilizzare qualsiasi nome che desideriate. L’importante è utilizzare nomi che siano facilmente identificabili con la loro funzione o con quello che contengono.
Spesso i programmi utilizzando centinaia di variabili e potete ben capire l’importanza di poterle distinguere una dall’altra attraverso una buona nominazione.
Nel frattempo possiamo utilizzare la console per effettuare altri comandi, per esempio dei calcoli.
>>>1 + 3
4
E poi riutilizzare la variabile quando se ne ha bisogno.
>>> print (name)
Fabio
Oppure se ne può variare il valore, assegnandone uno nuovo (riassegnazione)
>>> name = "Mario"
>>> print(name)
Mario
In Python, a differenza di altri linguaggi di programmazione non hanno un tipo specifico per variabile, cioè la variabile che utilizziamo può assumere diverse tipologie di dati durante la sua esistenza (fino alla chiusura della console di Python).
>>> name = 3
I nomi delle variabili
Abbiamo visto l’importanza delle variabili e di come esse debbano essere chiamate. Esistono però delle restrizioni di cui dobbiamo tere conto.
I caratteri con cui possiamo assegnare un nome ad una variabile sono i numeri, le lettere e ‘_’ (underscore). Inoltre il nome di una variabile non può iniziare mai con un numero.
Inoltre Python è un linguaggio di programmazione case sensitive. Cioè è in grado di distinguere fra caratteri maiuscoli e minuscoli. Quindi variabili come Name e name sono diverse.
Altro sulle variabili
Riferirsi ad una variabile che non è stata definita (cioè a cui non è stato assegnato alcun valore) genera un errore.
>>> foo
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'foo' is not defined
Abbiamo detto che una variabile esiste fin quando la console di Python (sessione) è aperta. Ma questo non è sempre vero. Possiamo cancellare (o meglio eliminare) una variabile utilizzando il comando del.
>>>del name
Da questo momento in poi, se si farà riferimento a questa variabile, senza riassegnarle qualche valore, otterremo un messaggio di errore
>>>name
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'name' is not defined
NOTA: Spesso troverai moltissimi esempi che riportano variabili con il nome di foo e bar. Queste variabili sono chiamate metasintattiche e servono come nome fittizi in tutorial o codici di esempio per effettuare delle dimostrazioni.