3.3. Coerción de tipos

Ahora que ya sabemos convertir entre tipos, tenemos otra forma de enfrentarnos a la división de enteros. Volviendo al ejemplo del capítulo anterior, suponga que queremos calcular que fracción de una hora había transcurrido. La expresión mas obvia, minuto / 60, realiza una división de enteros, por lo que el resultado es siempre 0, incluso 59 minutos después de la hora.

Una alternativa es convertir minuto a tipo float (coma flotante) y luego efectuar una división de coma flotante:

   1: >>> minuto = 59
   2: >>> float(minuto) / 60.0
   3: 0.983333333333


O bien podemos sacar provecho de las reglas de la conversion automatica de tipos, llamada coercion de tipos. Para los operadores matematicos, si uno de los operandos matematicos es tipo float, el otro se convierte automáticamente en float.




   1: >>> minuto = 59
   2: >>> minuto / 60.0
   3: 0.983333333333

Al usar un denomidador que es float, obligamos a Python a hacer division de coma flotante.

Comentarios

Entradas populares