Aritmetica di Base e Precedenza degli Operatori
Gli operatori aritmetici vengono utilizzati costantemente in Python. Esamina i più comuni e come la precedenza determina l'ordine di valutazione.
Operazioni principali
12345678a = 10 b = 3 print(a + b) # Addition print(a - b) # Subtraction print(a * b) # Multiplication print(a / b) # Division print(a ** b) # Exponentiation
Precedenza degli operatori
Quando sono presenti più operatori, Python li valuta in questo ordine (dal più alto al più basso tra gli aritmetici):
**;- Unario
+e-(segno); *,/;+,-.
Le parentesi hanno sempre la precedenza e rendono esplicita l'intenzione. L'elevamento a potenza ** è associativo a destra.
123456789print(2 + 3 * 4) # 14 (multiplication before addition) print((2 + 3) * 4) # 20 (parentheses change the order) # Exponentiation binds tighter than unary minus print(-3 ** 2) # -9 (equivalent to -(3 ** 2)) print((-3) ** 2) # 9 # Right-associative exponentiation print(2 ** 3 ** 2) # 512 (2 ** (3 ** 2))
- Preferire le parentesi in qualsiasi espressione non banale, leggibilità > astuzia.
- Ricordare che
/restituisce sempre un float (anche se il risultato è divisibile).
1. Quale valore restituirà questo codice?
2. Quale espressione restituisce 64?
3. Quale valore restituirà questo codice?
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Can you explain what right-associative means for exponentiation?
Can you give more examples of operator precedence in Python?
What happens if I divide by zero in Python?
Awesome!
Completion rate improved to 3.45
Aritmetica di Base e Precedenza degli Operatori
Scorri per mostrare il menu
Gli operatori aritmetici vengono utilizzati costantemente in Python. Esamina i più comuni e come la precedenza determina l'ordine di valutazione.
Operazioni principali
12345678a = 10 b = 3 print(a + b) # Addition print(a - b) # Subtraction print(a * b) # Multiplication print(a / b) # Division print(a ** b) # Exponentiation
Precedenza degli operatori
Quando sono presenti più operatori, Python li valuta in questo ordine (dal più alto al più basso tra gli aritmetici):
**;- Unario
+e-(segno); *,/;+,-.
Le parentesi hanno sempre la precedenza e rendono esplicita l'intenzione. L'elevamento a potenza ** è associativo a destra.
123456789print(2 + 3 * 4) # 14 (multiplication before addition) print((2 + 3) * 4) # 20 (parentheses change the order) # Exponentiation binds tighter than unary minus print(-3 ** 2) # -9 (equivalent to -(3 ** 2)) print((-3) ** 2) # 9 # Right-associative exponentiation print(2 ** 3 ** 2) # 512 (2 ** (3 ** 2))
- Preferire le parentesi in qualsiasi espressione non banale, leggibilità > astuzia.
- Ricordare che
/restituisce sempre un float (anche se il risultato è divisibile).
1. Quale valore restituirà questo codice?
2. Quale espressione restituisce 64?
3. Quale valore restituirà questo codice?
Grazie per i tuoi commenti!