back to top

Le variabili in Python

Le variabili sono dei costrutti comuni a quasi tutti i linguaggi di programmazione, esse nascono dall’esigenza di avere a disposizione uno spazio di memoria al quale associare dinamcamente delle informazioni; questa operazione per la memorizzazione diretta dei dati consiste in pratica nell’assegnazione di un valore alle variabili.

Per comprendere il funzionamento di tale processo di assegnazione è possibile avviare IDLE e digitare le seguenti istruzioni da salvare in un file chiamato, ad esempio, "variabili.py":

# Associare un valore stringa ad una variabile
a = "Questa è una variabile"
print(a)

Nel caso specifico lo script stamperà a video la stringa "Questa è una variabile"; prima di proseguire nell’approfondimento degli aspetti legati alle sintassi delle variabili potremmo testare un secondo esempio basato, questa volta, con l’associazione ad un valore numerico:

# Associare un valore numerico ad una variabile
a = 1000
print(a)

In questo caso invece, l’output prodotto dall’applicazione sarà "1000". Quindi, volendo tirare le somme sulla base di quanto visto fino ad ora, possiamo affermare che una variabile deve essere rappresentata da una stringa, che nel nostro esempio è il solo carattere "a"; per assegnare ad essa un valore di dovrà utilizzare il simbolo di uguaglianza ("=") che, nello specifico, agisce come operatore per l’assegnazione. Esistono alcune regole da rispettare quando si vuole associare un nome ad una variabile che, naturalmente non deve chiamarsi forzatamente "a", esse in sostanza escludono determinate casistiche, motivo per il quale il nome di una variabile:

  • non potrà essere un numero, ad esempio non si potrà utilizzare "2" o "22" come nome di variabile;
  • non potrà iniziare con un numero, per cui "2a" o "2aa" non saranno dei formati consentiti dall’interprete di Python;
  • non potrà contenere spazi, quindi non si potrà adottare una variabile chiamata, per esempio, "a a" o "a b";
  • non potrà contenere segni di interpunzione, escludendo la possibilita di formati come "a.a" o "a!a";
  • non potrà contenere simboli, quindi nomi come "a€a" o "a§a" porteranno alla generazione di un errore.

Sarà invece possibile:

  • utilizzare nomi composti da sequenze di più caratteri, ad esempio "abc", tra cui anche termini di senso compiuto ("ciao");
  • terminare il nome di una variabile con un numero, ad esempio "a2" o "a22";
  • utilizzare una stringa contenente al suo interno delle cifre, come per esempio "a2a";
  • adottare nomi composti da maiuscole e minuscole, per cui una variabile potrà essere chiamata anche "A", "AbC" o "ABC".

Per quanto riguarda le regole dei valori utilizzati per l’assegnazione, come risulta chiaro dall’esempio procedente un valore stringa dovrà essere delimitato da doppi apici (a = "Questa è una variabile") mentre un valore numerico no (a = 2); un valore numerico delimitato da doppi apici (come per esempio a = "10") verrà intepretato come una stringa.

Poter comunicare all’interprete la corretta tipologia di valore (o tipo di dato) è fondamentale per il corretto funzionamento di uno script; a tal proposito si analizzi l’esempio seguente:

# Utilizzare i valori delle variabili
# nei calcoli matematici
x = 0
y = 1000
print(x + y)

La piccola applicazione proposta non fa altro che eseguire un’addizione tra un non valore aritmetico (la cifra "0") e il numerico intero "1000", il risultato dell’operazione sarà naturalmente pari a quest’ultimo valore; ora però riproponiamo lo stesso script nel modo seguente:

# Utilizzare i valori numerici 
# come stringhe
x = "0"
y = "1000"
print(x + y)

In questop secondo caso il risultato dell’esecuzione del codice sarà la stringa "01000", questo perché la presenza dei doppi apici forzerà l’interprete a riconoscere i valori assegnati alle variabili come delle stringhe e il "+" non agirà più come operatore matematico di addizione, ma come operatore per la concatenazione di queste ultime.

Lo sviluppatore avrà comunque la possibilità di modificare dinamicamente il tipo di dato associato ad una variabile attraverso i cosiddetti opperatori di casting che sono:

  • int(): converte una variabile al tipo di dato intero;
  • str(): converte una variabile al tipo di dato stringa;
  • float(): converte una variabile al tipo di dato float, un numero decimale.

Anche in questo caso sarà possibile fare riferimento af un esempio:

# casting di una variabile stringa
# in una variabile numerica intera
x = "5"
y = 1000
print(int(x) + y)

Teoricamente non dovrebbe essere possibile sommare i due valori assegnati alle variabili "x" e "y" dello script precedente, questo perché la prima è associata ad una stringa, la seconda ad un valore numerico; ma grazie al ricorso all’operatore int(), "x" verrà convertita in un altro valore numerico e l’output ottenuto in fase di esecuzione sarà pari a "1005".

Pubblicità
Claudio Garau
Claudio Garau
Web developer, programmatore, Database Administrator, Linux Admin, docente e copywriter specializzato in contenuti sulle tecnologie orientate a Web, mobile, Cybersecurity e Digital Marketing per sviluppatori, PA e imprese.