Python/Generalidades/Tabla de operadores con asociatividad y precedencia

Índice de la sección
«Generalidades»



Muchos programas realizan cálculos aritméticos. Debemos notar el uso de varios símbolos especiales que no son utilizados en algebra. El asterisco (*) indica multiplicación y el signo de porcentaje (%) es el operador de modulo.


Python aplica los operadores en las expresiones aritméticas en un orden preciso determinado por las siguientes reglas de precedencia del operador, las cuales son generalmente las mismas que las seguidas en algebra:

1. Las expresiones contenidas dentro de pares de paréntesis son evaluadas primero. Los paréntesis se dice que se encuentran en “lo más alto del nivel de precedencia”. En el caso de paréntesis anidados, los operadores en el par de paréntesis mas interno son aplicados primero.

2. Las operaciones de exponentes son aplicadas después. Si una expresión contiene muchas operaciones de exponentes, los operadores son aplicados de derecha a izquierda.

3. La multiplicación, división y modulo son las siguientes en ser aplicadas. Si una expresión contiene muchas multiplicaciones, divisiones u operaciones de modulo, los operadores se aplican de izquierda a derecha. La multiplicación, división y modulo se dice que se encuentran en el mismo nivel de precedencia.

4. Suma y resta son las operaciones que se aplican por ultimo. Si una expresión contiene muchas operaciones de suma y resta, los operadores son aplicados de izquierda a derecha. La suma y resta tienen el mismo nivel de precedencia.

Operadores Relacionales y de Igualdad

Todos los operadores relacionales tienen el mismo nivel de precedencia y se asocian de izquierda a derecha. Todos los operadores de igualdad tienen el mismo nivel de precedencia, el cual es más bajo que la precedencia de los operadores relacionales. Los operadores de igualdad también se asocian de izquierda a derecha.

Precedencia de las operaciones en Python

editar

La siguiente lista muestra el orden de evaluación de todas las operaciones de Python. Operaciones que aparezcan más arriba se evalúan después que las que aparecen más abajo. Operaciones de la en la misma fila se evalúan de izquierda a derecha.[1]

(expresiones...),

[expresiones...], {clave: valor...}, {expresiones...}

Paréntesis, listas, tuplas, diccionarios, etc
x[índice], x[índice:índice], x(argumentos...), x.atributo Elementos de una lista, rangos, llamadas a funciones, attributos.
await x Expresión await
** Exponenciación
+x, -x, ~x positivo, negativo, not
*, @, /, //, % Multiplicación, multiplicación matricial, división, división con redondeo, módulo
+, - Suma y restra
<<, >> Desplazamiento
& AND bit a bit
^ XOR bit a bit
| OR bit a bit
in, not in, is, is not, <, <=, >, >=, !=, == camparaciones, comprobación de membresía
not x NOT booleano
and AND booleano
or OR booleano
ifelse Expresión condicional
lambda Expresión lambda
:= Asignación

Python: Índice · Introducción · Enlaces

 

Instalación de Python · Generalidades · Funciones, constantes nativas · Tipos de datos nativos · Herramientas de control de flujo · Definición de funciones · Leer y escribir archivos · Su primer programa en Python · Entrada y salida · Estructuras de datos · Errores y excepciones

Interfaces gráficas · Módulos relacionados con el sonido · Módulos relacionados con el tiempo · Módulos relacionados con la matemática

  1. https://docs.python.org/es/3/reference/expressions.html#operator-precedence