Precedencia de operadores

Ya hemos comentado que Python aplica los operadores según un orden determinado por su prioridad. A continuación se muestran los operadores de más prioritarios (en la parte superior de la tabla) a menos prioritarios (en la parte inferior de la tabla):

Precedencia de operadores
Operador Descripción
(expresiones...) [expresiones...], {clave: valor...} {expresiones...} Visualización o unión de tuplas, listas, diccionarios o conjuntos
x[índice], x[índice:índice], x(argumentos...), x.atributo Extracción de datos de estructuras, referencia a atributos
await x Expresión await
** Exponenciación
+x, -x, ~x Especificación de signo, operador "no" a nivel de bits
*, @, /, //, % Multiplicación, multiplicación de matrices, división, "floor division", resto
+, - Adición y sustracción
<<, >> Desplazamiento a nivel de bits
& "y" a nivel de bits
^ "xor" a nivel de bits
| "o" a nivel de bits
in, not in, is, is not, <, <=, >, >=, ==, != Comparaciones, identificación y pertenencia
not x "no" booleano
and "y" booleano
or "o" booleano
if - else Expresión condicional
lambda Expresión lambda

 

Como se ha comentado, éste es el orden por defecto, pero siempre podemos utilizar paréntesis para determinar el orden en el que queremos que se apliquen los operadores.