Python LanguagePrecedencia del operador


Introducción

Los operadores de Python tienen un orden de prioridad establecido , que determina qué operadores se evalúan primero en una expresión potencialmente ambigua. Por ejemplo, en la expresión 3 * 2 + 7, primero se multiplica 3 por 2, y luego el resultado se agrega a 7, obteniendo 13. La expresión no se evalúa al revés, porque * tiene una precedencia más alta que +.

A continuación hay una lista de operadores por precedencia y una breve descripción de lo que hacen (generalmente).

Observaciones

De la documentación de Python:

La siguiente tabla resume las precedencias del operador en Python, desde la precedencia más baja (menos vinculante) hasta la precedencia más alta (más vinculante). Los operadores en la misma caja tienen la misma prioridad. A menos que la sintaxis esté explícitamente dada, los operadores son binarios. Los operadores en el mismo grupo agrupan de izquierda a derecha (excepto las comparaciones, incluidas las pruebas, que tienen la misma prioridad y cadena de izquierda a derecha y exponenciación, que agrupa de derecha a izquierda).

Operador Descripción
lambda Expresión lambda
si Expresión condicional
o Booleano o
y Booleano y
no x Booleano no
en, no en, es, no es, <, <=,>,> =, <>,! =, == Comparaciones, incluyendo pruebas de membresía y pruebas de identidad
| Bitwise o
^ Bitwise XOR
Y Y a nivel de bit
<<, >> Turnos
+, - Adición y sustracción
*, /, //,% Multiplicación, división, resto [8]
+ x, -x, ~ x Positivo, negativo, a nivel de bit NO
** Exposiciónción [9]
x [índice], x [índice: índice], x (argumentos ...), x.attribute Suscripción, corte, llamada, atributo de referencia.
(expresiones ...), [expresiones ...], {clave: valor ...}, expresiones ... Encuadernación o visualización de tupla, visualización de lista, visualización de diccionario, conversión de cadena

Precedencia del operador Ejemplos relacionados