2.6. Operadores y expresiones

Los operadores son símbolos especiales que representan cálculos simples, como la suma y la multiplicación. Los valores que usa el operador se llaman operandos.

Las siguientes expresiones son legales en Python y su significado es mas o menos claro:

   1: 20+32     hora-1     hora*60+minuto     minuto/60     5**2     (5+9)*(15-7)


Los símbolos +, -, /, y el uso de los parentesis para el agrupamiento, se usan todos de la misma forma que en matematicas. El asterisco (*) es el signo de multiplicación y ** el s³mbolo para exponenciacion.


Cuando aparece el nombre de una variable en el lugar de un operando, se sustituye con su valor antes de realizar la operacion.


La suma, resta, multiplicacion y exponenciacion hacen lo esperado, pero la división le puede sorprender. La operacion que sigue tiene un resultado inesperado:




   1: >>> minuto = 59
   2: >>> minuto/60
   3: 0

El valor de la variable minuto es 59, y 59 dividido entre 60 es 0.98333 y no 0. El motivo de la discrepancia reside en que Python esta llevando a cabo una división de enteros.


Cuando ambos operandos son enteros, el resultado ha de ser tambien un entero; por convencion, la division de enterios simpre se redondea a la baja, incluso en casos como estos en los que el siguiente entero esta muy proximo.


Una alternativa posible en este caso es el calculo de un porcentaje y no el de una fracción:




   1: >>> minuto*100/60
   2: 98

De nuevo se redondea el resultado a la baja, pero al menos ahora la respuesta es aproximadamente correcta. Otra alternativa es la division de coma flotante, que veremos en el Capítulo 3.

0