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):
| 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.