Salta ai contenuti
Manuale LogoManuale Logo

Operatori in Python

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:

Operatore Significato Esempio Risultato
+ Addizione 5 + 3 8
- Sottrazione 5 - 3 2
* Moltiplicazione 5 * 3 15
/ Divisione (con decimali) 5 / 2 2.5
// Divisione intera (senza decimali) 5 // 2 2
% Resto della divisione 5 % 2 1
** Potenza 5 ** 2 25

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)

Confrontano due valori e restituiscono sempre True o False:

Operatore Significato Esempio
== È 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

Servono a mettere insieme più condizioni:

Operatore Significato
and Vero solo se tutte le condizioni sono vere
or Vero se almeno una condizione è vera
not Inverte 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

Sezione intitolata “Operatori di assegnazione — scorciatoie per aggiornare variabili”

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

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

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.