Salta ai contenuti
Manuale LogoManuale Logo

Operatori in Python

Un operatore è un simbolo che esegue un’operazione su uno o più valori. +, - e * sono operatori matematici; Python ne mette a disposizione anche altri.

Seguono le regole della matematica, con alcune operazioni aggiuntive:

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

L’operatore // (doppio slash) divide e arrotonda il risultato verso il basso. Con numeri positivi sembra eliminare la parte decimale: 5 // 2 vale 2. Con numeri negativi la differenza conta: -5 // 2 vale -3, non -2.

L’operatore % (modulo) restituisce il resto. Per esempio, 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 True oppure 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 combinare 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”

Al posto di x = x + 3 puoi usare la forma abbreviata x += 3. Le due istruzioni hanno lo stesso effetto:

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, una stringa o un’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 secondo un ordine preciso. Le parentesi hanno la precedenza più alta:

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.