Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Variabili e commenti in Python

Come sono gestite le variabili in Python, i relativi tipi di dato e le operazioni di assegnazione, nonchè i loro nomi ed i commenti nel codice.
Come sono gestite le variabili in Python, i relativi tipi di dato e le operazioni di assegnazione, nonchè i loro nomi ed i commenti nel codice.
Link copiato negli appunti

Le Variabili

Per definire variabili in Python, è sufficiente utilizzare l'operatore di assegnamento (=) come nei seguenti esempi:

numero = 10
stringa = "Python"
lista = [1, 2, 3]

Come si vede, in Python non è necessario né definire le variabili prima di utilizzarle, né specificare il loro tipo.

Differenze con altri linguaggi

In linguaggi come C, le variabili fanno riferimento a specifiche locazioni di memoria che hanno una dimensione fissa che dipende dal loro tipo (per questo è necessario specificare il tipo quando si dichiara una variabile). In Python invece, gli oggetti hanno un tipo specifico (numero, stringa, lista, etc.), e le variabili sono solo "etichette" che si si riferiscono a un determinato oggetto.

Per capire meglio questo fondamentale concetto, possiamo vedere un semplice esempio.

/* Codice C */
int x;
x = 10;
x = 20;

In questo codice C:

  • viene definita una variabile x di tipo int (cioè grande abbastanza per contenere un numero intero);
  • il valore 10 viene salvato nella locazione di memoria associata a x;
  • il valore 20 viene salvato nella locazione di memoria associata a x, sovrascrivendo il 10.

# codice Python
x = 10
x = 20

Anche se questo codice Python può sembrare molto simile, quello che accade è diverso:

  • l'oggetto 10 viene creato, e l'operazione di assegnamento fa in modo che la variabile x si riferisca a questo oggetto;
  • l'oggetto 20 viene creato, e la variabile/etichetta x viene "spostata" da 10 a 20;
  • siccome non ci sono più variabili che fanno riferimento all'oggetto 10, il garbage collector lo eliminirà automaticamente.

In entrambi questi esempi, il valore finale associato con la variabile x sarà 20.

Come abbiamo detto precedentemente, in Python le variabili non hanno tipo e possono riferirsi a qualsiasi tipo di oggetto. Il codice seguente è quindi perfettamente valido in Python:

x = 10
x = "Python"
x = [1, 2, 3]

In questo esempio la variabile/etichetta x viene "spostata" dall'intero 10 alla stringa "Python", e infine alla lista [1, 2, 3].

Tipi di dato

Python possiede sia i classici tipi di dato, comuni alla maggior parte dei linguaggio di programmazione, ma anche diversi tipi più potenti e flessibili. Ecco una tabella che elenca alcuni dei tipi di dati più comuni in Python:

Tipo di dato Nome Descrizione Esempi
Intero int Intero di dimensione arbitraria -42, 0, 1200, 999999999999999999
Reale float Numero a virgola mobile 3.14, 1.23e-10, 4.0E210
Booleano bool Per valori veri o falsi True, False
Complesso complex Numeri complessi con parte reale e immaginaria 3+4j, 5.0+4.1j, 3j
Stringhe str Usata per rappresentare testo '', 'stefano', "l'acqua"
Bytes bytes Usata per rappresentare bytes b'', b'\x00\x01\x02', b'Python'
Liste list Una sequenza mutabile di oggetti [], [1, 2, 3], ['Hello', 'World']
Tuple tuple Una sequenza immutabile di oggetti (), (1, 2, 3), ('Python', 3)
Insiemi set/frozenset Un'insieme di oggetti unici {1, 2, 3}, {'World', 'Hello'}
Dizionari dict Una struttura che associa chiavi a valori {}, {'nome': 'Ezio', 'cognome': 'Melotti'}

Nelle prossime lezioni affronteremo più in dettaglio questi tipi di dato e vedremo le loro caratteristiche.

Nomi di variabili

Ricordiamo che le regole da seguire nella scelta dei nomi delle variabili è simile a quella dei più comuni linguaggi di programmazione, in particolare:

  • ogni nome di variabile deve iniziare con una lettera o con il carattere underscore (_), e può essere seguita da lettere, numeri, o underscore;
  • esistono delle parole riservate (keyword) che non possono essere utilizzate come nomi di variabili:
    False, None, True, and, as, assert, break, class, continue, def, del, elif, else, except, finally, for, from, global, if, import, in, is, lambda, nonlocal, not, or, pass, raise, return, try, while, with, yield;
  • Python è un linguaggio case-sensitive, che distingue tra nomi di variabili composti da caratteri minuscoli e maiuscoli;
  • in Python 3 è possibile (ma generamente sconsigliato) usare caratteri accentati o in altri alfabeti nei nomi delle variabili, ad esempio: età = 20.

La PEP 8 include una sezione riguardante le convenzioni da usare con i nomi delle variabili.

Assegnamento multiplo

Una singolare possibilità offerta da Python è rappresentata dall’assegnamento multiplo, che permette di inizializzare più variabili direttamente sulla stessa riga di codice. Per capire quest’ultimo concetto, basta osservare l’esempio seguente:

>>> a, b, c = 2, 3, 5  # assegnamento multiplo
>>> a * b + c
11
>>> a
2
>>> b
3
>>> c
5

I commenti

In Python è possibile usare il carattere # per aggiungere commenti al codice. Ogni riga di commento deve essere preceduta da un #, ed è anche possibile aggiungere commenti in seguito a istruzioni:

# Questo commento occupa diverse righe, e ogni riga
# è preceduta da un # per indicare a Python di
# ignorarle tutte
a = 3  # questo commento segue un'istruzione

Python ignorerà automaticamente tutto ciò che segue il carattere # fino al termine della riga.

La PEP 8 include anche una sezione riguardante i commenti.

Ti consigliamo anche