Skip to content

Operatori

Un operatore è un simbolo che esegue un’operazione su uno o più valori. Li usi già ogni giorno: +, -, * sono operatori matematici. In Python ce ne sono molti altri.

Funzionano come la matematica che conosci già, con qualche aggiunta:

OperatoreSignificatoEsempioRisultato
+Addizione5 + 38
-Sottrazione5 - 32
*Moltiplicazione5 * 315
/Divisione (con decimali)5 / 22.5
//Divisione intera (senza decimali)5 // 22
%Resto della divisione5 % 21
**Potenza5 ** 225

L’operatore // (doppio slash) divide e butta via i decimali. È come chiedere “quante volte 2 entra in 5?” — la risposta è 2, con 1 di resto.

L’operatore % (modulo) restituisce solo il resto. Torna utilissimo per sapere se un numero è pari o dispari: se numero % 2 vale 0, il numero è pari.

a = 10
b = 3
print(a + b) # 13
print(a - b) # 7
print(a * b) # 30
print(a / b) # 3.3333...
print(a // b) # 3 (10 diviso 3 fa 3 con il resto)
print(a % b) # 1 (il resto è 1)
print(a ** b) # 1000 (10 alla potenza 3)

Operatori di confronto — per fare domande

Section titled “Operatori di confronto — per fare domande”

Confrontano due valori e restituiscono sempre True o False:

OperatoreSignificatoEsempio
==È uguale a?5 == 5True
!=È diverso da?5 != 3True
>È maggiore di?5 > 4True
<È minore di?5 < 3False
>=È maggiore o uguale?5 >= 5True
<=È minore o uguale?5 <= 4False
x = 5
print(x == 5) # True
print(x != 3) # True
print(x > 4) # True
print(x < 3) # False

Operatori logici — per combinare condizioni

Section titled “Operatori logici — per combinare condizioni”

Servono a mettere insieme più condizioni:

OperatoreSignificato
andVero solo se tutte le condizioni sono vere
orVero se almeno una condizione è vera
notInverte il valore (vero diventa falso e viceversa)
print(5 > 3 and 10 > 7) # True — entrambe vere
print(5 > 3 or 10 < 7) # True — almeno una vera
print(not 5 > 3) # False — 5 > 3 è True, not lo inverte

Operatori di assegnazione — scorciatoie per aggiornare variabili

Section titled “Operatori di assegnazione — scorciatoie per aggiornare variabili”

Invece di scrivere x = x + 3, puoi usare la versione abbreviata x += 3. Significano la stessa cosa:

AbbreviazioneEquivalente completo
x += 3x = x + 3
x -= 3x = x - 3
x *= 3x = x * 3
x /= 3x = x / 3
x //= 3x = x // 3
x %= 3x = x % 3
x **= 3x = x ** 3
punteggio = 100
punteggio += 50 # il giocatore ha guadagnato 50 punti
print(punteggio) # 150
punteggio -= 20 # penalità di 20 punti
print(punteggio) # 130

Operatori in e not in — per cercare elementi

Section titled “Operatori in e not in — per cercare elementi”

Verificano se un valore è presente (o assente) in una lista, in una stringa o in qualsiasi altra sequenza:

frutta = ["mela", "banana", "ciliegia"]
print("mela" in frutta) # True — c'è la mela
print("uva" in frutta) # False — non c'è l'uva
print("uva" not in frutta) # True — l'uva non c'è
testo = "Ciao, mondo!"
print("mondo" in testo) # True
print("pizza" in testo) # False

Come in matematica, Python esegue le operazioni in un ordine preciso. Le parentesi hanno sempre la precedenza massima:

print(2 + 3 * 4) # 14 — prima la moltiplicazione, poi l'addizione
print((2 + 3) * 4) # 20 — prima le parentesi

Se non sei sicuro dell’ordine, usa le parentesi: rendono il codice più chiaro e sicuro.