Esempio di precedenza degli operatori Python

La tabella seguente elenca tutti gli operatori dalla precedenza più alta al più basso.

OperatoreDescrizione
** Esponenziazione (aumento alla potenza)
~ + - Complemento, più e meno unario (i nomi dei metodi per gli ultimi due sono + @ e - @)
* /% // Moltiplica, dividi, modulo e divisione dei piani
+ - Addizione e sottrazione
>> << Spostamento bit per bit destro e sinistro
& Bitwise 'AND'td>
^ | "OR" esclusivo bit per bit e "OR" regolare
<= <>> = Operatori di confronto
<> ==! = Operatori di uguaglianza
=% = / = // = - = + = * = ** = Operatori di assegnazione
È non è Operatori di identità
in non in Operatori di appartenenza
non o e Operatori logici

La precedenza degli operatori influisce sul modo in cui viene valutata un'espressione.

Ad esempio, x = 7 + 3 * 2; qui, x è assegnato 13, non 20 perché l'operatore * ha una precedenza maggiore di +, quindi prima moltiplica 3 * 2 e poi somma in 7.

Qui, gli operatori con la precedenza più alta vengono visualizzati nella parte superiore della tabella, quelli con la priorità più bassa in fondo.

Esempio

#!/usr/bin/python

a = 20
b = 10
c = 15
d = 5
e = 0

e = (a + b) * c / d       #( 30 * 15 ) / 5
print "Value of (a + b) * c / d is ",  e

e = ((a + b) * c) / d     # (30 * 15 ) / 5
print "Value of ((a + b) * c) / d is ",  e

e = (a + b) * (c / d);    # (30) * (15/5)
print "Value of (a + b) * (c / d) is ",  e

e = a + (b * c) / d;      #  20 + (150/5)
print "Value of a + (b * c) / d is ",  e

Quando esegui il programma sopra, produce il seguente risultato:

Value of (a + b) * c / d is 90
Value of ((a + b) * c) / d is 90
Value of (a + b) * (c / d) is 90
Value of a + (b * c) / d is 50