Gli operatori aritmetici in Python costituiscono la base per eseguire le principali operazioni matematiche, come addizione, sottrazione, moltiplicazione e divisione. Oltre a queste funzioni essenziali, il linguaggio mette a disposizione strumenti per l’elevamento a potenza, la divisione intera e il calcolo del modulo. In questa guida analizzeremo uno ad uno tutti gli operatori aritmetici offerti da Python, scoprendo come applicarli efficacemente nei tuoi programmi.
1. Operatori aritmetici di base in Python: concetti essenziali
A. Addizione (+): sommare valori in modo intuitivo
L’operatore + effettua l’addizione tra numeri. È ideale per sommare interi e floating point. Esempio rapido: 2 + 5 restituisce 7.
# Addizione di base a = 2 b = 5 somma = a + b print(somma) # 7
B. Sottrazione (-): differenze e scarti
Con – calcoli una sottrazione. Utile per differenze e scarti, ad esempio in statistiche o contabilità . Esempio: 10 - 3 produce 7.
# Sottrazione x = 10 y = 3 diff = x - y print(diff) # 7
C. Moltiplicazione (): prodotto di numeri
L’asterisco esegue la moltiplicazione. Perfetto per calcolare aree, prezzi totali, scaling di valori. Esempio: 4 * 6 dà 24.
# Moltiplicazione larghezza = 4 altezza = 6 area = larghezza * altezza print(area) # 24
D. Divisione (/): risultati con decimali
Lo slash / effettua la divisione e restituisce sempre un float. Esempio: 7 / 2 produce 3.5.
# Divisione classica (float) numeratore = 7 denominatore = 2 quoziente = numeratore / denominatore print(quoziente) # 3.5
2. Operatori aritmetici avanzati: strumenti pratici da usare ogni giorno
A. Divisione intera (//): quoziente senza decimali
Con // ottieni la divisione intera, cioè il quoziente arrotondato per difetto. Esempio: 7 // 2 restituisce 3.
# Divisione intera print(7 // 2) # 3 print(-7 // 2) # -4 (arrotonda verso il basso)
B. Modulo (%): il resto della divisione
L’operatore % calcola il resto. È fondamentale per controlli periodici (es. numeri pari/dispari con n % 2).
# Modulo (resto) n = 11 if n % 2 == 0: print("pari") else: print("dispari") # dispari
C. Potenza (): elevamento a potenza
L’operatore esegue l’elevamento a potenza. Esempio: 3 ** 4 equivale a 81.
# Potenza base = 3 esponente = 4 pot = base ** esponente print(pot) # 81
3. Operatori di assegnazione con operatori aritmetici: scrivere meno, fare di più
Esempi di operatori di assegnazione:
Gli operatori di assegnazione combinano calcolo e aggiornamento della variabile. Alcuni tra i più usati: +=, -=, *=, /=, //=, %=, **=.
# Aggiornare una variabile con operatori composti saldo = 100
saldo += 25
print(saldo) # 125
saldo -= 10
print(saldo) # 115
saldo *= 2
print(saldo) # 230
saldo /= 4
print(saldo) # 57.5
saldo //= 3
print(saldo) # 19.0 (float, ma quoziente intero)
saldo %= 5
print(saldo) # 4.0
saldo **= 2
print(saldo) # 16.0
4. Operazioni con numeri complessi: calcolo scientifico a portata di mano
Esempio con numeri complessi
Python supporta nativamente i numeri complessi con la lettera j per la parte immaginaria. Puoi sommare, moltiplicare e calcolare modulo e fase usando la libreria cmath.
# Operazioni con numeri complessi z1 = 2 + 3j z2 = 1 - 4j
somma = z1 + z2
prodotto = z1 * z2
conjugato = z1.conjugate()
print(somma) # (3-1j)
print(prodotto) # (14-5j)
print(conjugato) # (2-3j)
import cmath
modulo = abs(z1)
fase = cmath.phase(z1)
print(modulo) # 3.6055...
print(fase) # angolo in radianti
5. Precedenza degli operatori: come Python valuta le espressioni
Esempio di precedenza degli operatori
Conoscere la precedenza è cruciale: in generale, potenze (**) prima di moltiplicazioni/divisioni (*, /, //, %), che a loro volta precedono addizioni/sottrazioni (+, -). Le parentesi ( ) hanno priorità massima e chiariscono l’intento.
# Precedenza: senza e con parentesi expr1 = 2 + 3 * 4 # 14 (prima 3*4 = 12, poi 2+12) expr2 = (2 + 3) * 4 # 20 (le parentesi cambiano l'ordine) expr3 = 2 ** 3 * 2 # 16 (2**3=8, poi 8*2) expr4 = 10 - 6 / 3 + 1 # 9.0 (prima 6/3=2.0, poi 10-2.0+1)
print(expr1, expr2, expr3, expr4)
Considerazioni finali: buone pratiche e prossimi passi
Gli operatori aritmetici sono la base di ogni programma: esercitati con esempi concreti, usa le parentesi per rendere il codice esplicito e sfrutta gli operatori di assegnazione per scrivere in modo più compatto. Quando lavori con dati reali, verifica i tipi (interi, float, complessi) e ricorda che la divisione / produce un float, mentre // tronca il risultato. Con una solida padronanza di questi strumenti, potrai affrontare serenamente calcoli più complessi e problemi pratici di ogni giorno.