sábado, 16 de septiembre de 2017

Buenos ejemplos de precedencia de operadores en Python

http://www.w3ii.com/es/python/operators_precedence_example.html

Python Operadores Precedencia Ejemplo


En la siguiente tabla se enumeran todos los operadores de precedencia más alta a la más baja.
Operador Descripción
** Exponenciación (raise to the power)
~ + - Ccomplement, más unario y negativo (method names for the last two are +@ and -@)
* / % // Multiplicar, dividir, y la división de módulo piso
+ - Adición y sustracción
>> << Derecho y desplazamiento a la izquierda en modo bit
& Bit a bit 'AND'td>
^ | Bit a bit exclusiva `O 'y regulares` O'
<= < > >= Operadores de comparación
<> == != operadores de igualdad
= %= /= //= -= += *= **= Operadores de Asignación
is is not operadores de identidad
in not in operadores de miembros
not or and Operadores logicos
La precedencia de operadores afecta a cómo se evalúa una expresión.
Por ejemplo, x = 7 + 3 * 2; aquí, se asigna x 13, no 20, porque el operador * tiene mayor precedencia que +, por lo que se multiplica primero 3 * 2 y luego añade a 7.
Aquí, los operadores con la prioridad más alta aparecen en la parte superior de la tabla, los que tienen los más bajos aparecen en la parte inferior.

Ejemplo

#!/usr/bin/python

a = 20
b = 10
c = 15
d = 5
e = 0

e = (a + b) * c / d       #( 30 * 15 ) / 5
print "Value of (a + b) * c / d is ",  e

e = ((a + b) * c) / d     # (30 * 15 ) / 5
print "Value of ((a + b) * c) / d is ",  e

e = (a + b) * (c / d);    # (30) * (15/5)
print "Value of (a + b) * (c / d) is ",  e

e = a + (b * c) / d;      #  20 + (150/5)
print "Value of a + (b * c) / d is ",  e
Al ejecutar el programa anterior, se produce el siguiente resultado -
Value of (a + b) * c / d is 90
Value of ((a + b) * c) / d is 90
Value of (a + b) * (c / d) is 90
Value of a + (b * c) / d is 50

No hay comentarios:

Publicar un comentario