Python è un linguaggio di programmazione interpretato, dinamico e ad alto livello, che supporta vari paradigmi di programmazione, tra cui procedurale, orientato agli oggetti e funzionale. Un elemento fondamentale del linguaggio è la sua capacità di gestire variabili, tipi di dati e operatori in modo semplice ed efficiente. Le variabili in Python sono strumenti essenziali per memorizzare e manipolare dati, mentre i letterali rappresentano valori fissi nel codice sorgente. Gli operatori sono utilizzati per eseguire operazioni su variabili e valori.
Variabili in Python
Definizione e Assegnazione di Variabili
Le variabili sono utilizzate per memorizzare dati che possono essere modificati o utilizzati durante l’esecuzione di un programma. A differenza di altri linguaggi di programmazione, in Python non è necessario dichiarare il tipo di una variabile in modo esplicito; il tipo viene determinato automaticamente in fase di esecuzione, sulla base del valore assegnato.
L’assegnazione di una variabile in Python avviene tramite l’operatore di assegnazione =
:
x = 5 # Intero
y = 3.14 # Virgola mobile (float)
name = "Python" # Stringa
print(x, y, name) # Stampa il valore delle tre variabili separate da spazi
In questo esempio:
x
è una variabile di tipo int (intero),y
è di tipo float (numero a virgola mobile),name
è di tipo str (stringa).
Tipi di Dati in Python
Tipi di Dati di Base
Python offre vari tipi di dati di base che possono rappresentare numeri, stringhe, valori booleani e altri tipi complessi. Di seguito viene riportata una descrizione dei principali tipi di dati e degli intervalli che possono rappresentare.
int: I numeri interi in Python possono essere di lunghezza arbitraria, ovvero non hanno un limite fisso, a differenza di molti altri linguaggi. Ciò significa che gli interi possono crescere quanto necessario fino a esaurire la memoria disponibile. In pratica, il valore minimo e massimo rappresentabile dipende dalla memoria del sistema.
- Esempio:
x = 5 # Intero positivo y = -10 # Intero negativo print(x, y)
- Intervallo: non ha limiti predefiniti, solo limitato dalla memoria disponibile del computer.
float: I numeri in virgola mobile seguono la rappresentazione in virgola mobile IEEE 754 a 64 bit (doppia precisione). Questo consente di rappresentare un intervallo di valori molto ampio, ma con una precisione limitata.
- Intervallo: circa da -1.79e308 a 1.79e308, con una precisione di circa 15-17 cifre decimali significative.
- Esempio:
pi = 3.14159 # Numero in virgola mobile e = 2.71828 print(pi, e)
complex: I numeri complessi in Python sono rappresentati come
a + bj
, dovea
è la parte reale eb
è la parte immaginaria. Ogni parte è rappresentata come un numero in virgola mobile.- Esempio:
z = 2 + 3j # Numero complesso, con parte reale 2 e parte immaginaria 3 print(z)
- Intervallo: l’intervallo dipende dal tipo di dato
float
utilizzato per la parte reale e immaginaria, quindi anch’esso è limitato dai limiti del tipofloat
(circa da -1.79e308 a 1.79e308).
str: Le stringhe in Python sono sequenze di caratteri Unicode e non hanno una lunghezza massima predefinita, essendo limitate solo dalla memoria disponibile del sistema.
- Esempio:
name = "Python" # Stringa di caratteri print(name)
- Intervallo: la lunghezza della stringa è limitata solo dalla memoria disponibile.
bool: Il tipo di dato booleano può assumere due soli valori:
True
oFalse
.- Esempio:
is_valid = True # Booleano che rappresenta la verità has_permission = False print(is_valid, has_permission)
- Intervallo: valori booleani sono limitati a
True
eFalse
.
Letterali in Python
I letterali sono valori costanti scritti direttamente nel codice. Python offre diversi tipi di letterali:
Letterali Numerici
I letterali numerici possono essere di tre tipi: interi, virgola mobile e complessi.
- Interi: Rappresentati da numeri come
10
,-5
. - Float: Rappresentati da numeri con un punto decimale, come
3.14
,-0.001
. - Numeri Complessi: Rappresentati da un numero reale e immaginario, come
2 + 3j
.
Letterali Stringa
I letterali stringa in Python possono essere definiti utilizzando singoli o doppi apici ('Hello'
o "World"
). Python supporta anche stringhe multilinea usando triple virgolette ("""Test"""
o '''Test'''
).
Letterali Booleani
I letterali booleani rappresentano i valori logici True e False.
Letterali Speciali: None
Python supporta un letterale speciale, None
, che rappresenta l’assenza di valore o un oggetto nullo.
Operatori in Python
Python offre una vasta gamma di operatori che consentono di eseguire operazioni aritmetiche, logiche e di confronto sui dati. In questa sezione, esamineremo i principali tipi di operatori, fornendo esempi pratici per ognuno di essi.
Operatori Aritmetici
Gli operatori aritmetici vengono utilizzati per eseguire operazioni matematiche tra numeri.
Operatore | Descrizione | Esempio | Risultato |
---|---|---|---|
+ | Addizione | 5 + 3 | 8 |
- | Sottrazione | 10 - 2 | 8 |
* | Moltiplicazione | 7 * 3 | 21 |
/ | Divisione | 15 / 3 | 5.0 |
// | Divisione intera | 15 // 2 | 7 |
% | Modulo (resto) | 10 % 3 | 1 |
** | Potenza | 2 ** 3 | 8 |
Esempio:
a = 84
b = 717
result = a * b # Moltiplicazione
print(result) # Output: 60228
Operatori di Confronto
Gli operatori di confronto vengono utilizzati per confrontare due valori, restituendo un valore booleano (True
o False
).
Operatore | Descrizione | Esempio | Risultato |
---|---|---|---|
== | Uguale a | 5 == 5 | True |
!= | Diverso da | 5 != 3 | True |
> | Maggiore di | 7 > 3 | True |
< | Minore di | 3 < 7 | True |
>= | Maggiore o uguale a | 5 >= 5 | True |
<= | Minore o uguale a | 3 <= 5 | True |
Esempio:
x = 10
y = 20
is_greater = x > y # Confronto
print(is_greater) # Output: False
Operatori Logici
Gli operatori logici consentono di combinare espressioni booleane.
Operatore | Descrizione | Esempio | Risultato |
---|---|---|---|
and | Restituisce True se entrambe le condizioni sono vere | True and False | False |
or | Restituisce True se almeno una delle condizioni è vera | True or False | True |
not | Inverte il valore booleano | not True | False |
Esempio:
is_valid = True
has_permission = False
access_granted = is_valid and has_permission # Operatore logico
print(access_granted) # Output: False
Commenti in Python
In Python, i commenti sono utilizzati per annotare il codice e fornire spiegazioni o informazioni aggiuntive senza influenzare l’esecuzione del programma. Ci sono due tipi principali di commenti in Python:
Commenti su una sola riga
I commenti su una sola riga iniziano con il simbolo #
. Tutto ciò che segue il simbolo #
sulla stessa riga viene ignorato dall’interprete Python.
# Questo è un commento su una sola riga
x = 10 # Assegna 10 a x
print(x)
Commenti su più righe
I commenti su più righe possono essere creati usando le triple virgolette, sia singole ('''
), sia doppie ("""
). Anche se questo non è l’uso principale delle stringhe triple, è una pratica comune per scrivere commenti di documentazione o spiegazioni più lunghe.
"""
Questo è un commento su più righe.
Puoi scrivere qualsiasi cosa qui.
"""
y = 20
print(y)
O anche con le triple virgolette singole:
'''
Questo è un altro esempio di commento
su più righe in Python.
'''
z = 30
print(z)
Importanza dei Commenti
I commenti sono importanti per vari motivi:
- Chiarezza: Aiutano a spiegare il funzionamento del codice, rendendolo più comprensibile per chi lo legge.
- Documentazione: Possono essere utilizzati per documentare le funzioni e le classi, descrivendo ciò che fanno e come vengono utilizzate.
- Debugging: Permettono di disattivare temporaneamente parti del codice senza eliminarle, facilitando il debugging.