Funciones numéricas en Python
Vamos a dedicar una serie de entradas a hablar de las principales funciones propias (built-in functions) asociadas al manejo de datos, empezando por los datos numéricos.
La función int() permite obtener el valor numérico de tipo entero (integer) que le pasemos como parámetro, sea éste un dato alfanumérico o uno numérico real.
int("24") -> devuelve 24
int(24.234) -> devuelve 24
Estos son, posiblemente, los usos más frecuentes de esta función (especialmente la de convertir a entero un dato alfanumérico), pero no los únicos, ya que int(x) cuenta en realidad con dos parámetros...
int(x, base = 10)
... lo que permite utilizar int() también para realizar cambios de base en los números pasados como primer parámetro: int("24",16) -> Devuelve 36.
Este no es un uso frecuente de la función, pero tampoco muy conocido, ya que normalmente empleamos int() con un único parámetro, pues si trabajamos en base 10 no es necesario especificar la base con la que se trabaja, como podemos ver en los dos primeros ejemplos.
La función eval() sirve para convertir una cadena alfanumérica que representa un número real en un número real, algo que no puede hacer la función int().
eval("23.23") -> devuelve 23.23
int("23.23") -> devuelve error (ValueError: invalid literal for int() with base 10: '23.23')
Si queremos convertir a valor numérico y extraer la parte entera de una cadena alfanumérica que representa un número real deberemos utilizar ambas funciones anidadas: int(eval("23.23")) -> Devuelve 23
En resumen, se puede decir que ambas funciones se complementan, resolviendo una lo que no le está permitido a la otra, por lo que es conveniente saber diferenciar las situaciones en las que podemos usar una u otra, o cuando es conveniente utilizar ambas (1).
Otra función numérica que nos interesa conocer es round(), que como su nombre indica, nos permite redondear un número real a un número determinado de decimales. Esta función dispone de dos parámetros de entrada, aunque el segundo es opcional: round(number,ndigits). El primer parámetro es el del número a redondear, y el segundo el número de dígitos decimales que tendrá dicho número una vez redondeado. En caso de no utilizar este segundo parámetro, el número real se trunca a entero más próximo. Veamos algunos ejemplos:
round(123.987) -> devuelve 124 pero round(123.499) -> devuelve 123
abs(-123.438) -> devuelve 23.438
abs(12) -> devuelve 12
abs(-12) -> devuelve 12
abs(+12) -> devuelve 12

No hay comentarios:
Publicar un comentario
Comenta esta entrada