Python LanguagePrecedenza dell'operatore

introduzione

Gli operatori Python hanno un ordine di precedenza impostato, che determina quali operatori vengono valutati per primi in un'espressione potenzialmente ambigua. Ad esempio, nell'espressione 3 * 2 + 7, il primo 3 viene moltiplicato per 2, e quindi il risultato viene aggiunto a 7, ottenendo 13. L'espressione non viene valutata al contrario, perché * ha una precedenza più alta di +.

Di seguito è riportato un elenco di operatori in base alla precedenza e una breve descrizione di ciò che fanno (di solito).

Osservazioni

Dalla documentazione di Python:

La tabella seguente riepiloga le precedenze dell'operatore in Python, dalla precedenza più bassa (meno vincolante) alla precedenza più alta (la maggior parte del binding). Gli operatori nella stessa casella hanno la stessa precedenza. A meno che la sintassi non sia esplicitamente data, gli operatori sono binari. Gli operatori nello stesso gruppo si spostano da sinistra a destra (eccetto per i confronti, inclusi i test, che hanno tutti la stessa precedenza e catena da sinistra a destra e l'esponenziazione, quali gruppi da destra a sinistra).

Operatore Descrizione
lambda Espressione di Lambda
se altro Espressione condizionale
o Booleano OR
e AND booleano
non x NON booleano
in, non in, is, is not, <, <=,>,> =, <>,! =, == Confronti, inclusi test di appartenenza e test di identità
| Bitwise OR
^ XOR bit a bit
& Bitwise AND
<<, >> Turni
+, - Addizione e sottrazione
*, /, //,% Moltiplicazione, divisione, resto [8]
+ x, -x, ~ x Positivo, negativo, bit negativo NON
** Esponenziazione [9]
x [indice], x [indice: indice], x (argomenti ...), x.attributo Sottoscrizione, slicing, chiamata, riferimento attributo
(espressioni ...), [espressioni ...], {chiave: valore ...}, espressioni ... Visualizzazione di binding o tupla, visualizzazione elenco, visualizzazione dizionario, conversione stringhe

Precedenza dell'operatore Esempi correlati