Definir un valor infinito en Python

Salman Mehmood 21 junio 2023
  1. Forma tradicional de definir un valor infinito en Python
  2. Definir un valor infinito usando el módulo matemático en Python
  3. Definir un valor infinito usando la función Decimal() en Python
  4. Definir un valor infinito usando el módulo NumPy en Python
Definir un valor infinito en Python

En este artículo, aprenderemos qué es un valor infinito en Python y por qué usamos un valor infinito. También aprenderemos cómo definir un valor infinito con la ayuda de diferentes formas en Python.

Forma tradicional de definir un valor infinito en Python

Cuando escuchan infinito, la mayoría de ustedes piensa que hay algo que nunca termina, pero ¿cómo tratamos el infinito en Python? Suponga que necesita almacenar un número infinito en el script de Python; luego, puede almacenar un archivo con un número mayor, aunque puede almacenar números con varios archivos.

Dado que el lenguaje Python es dinámico, 999999999999 o un número mayor almacenado en varios archivos no será suficiente para definir un número infinito en Python.

En matemáticas, puedes usar números finitos e infinitos. Python trae una característica donde podemos definir un número finito en un rango específico y un número infinito, como en Matemáticas; podemos usar infinito negativo y positivo.

No podemos definir un número infinito en otros lenguajes de programación. En otros lenguajes de programación, podemos definir un conjunto específico de valores.

Para definir el infinito, podemos usar float("inf") para definir un número infinito positivo y para un número infinito negativo, usamos float("-inf"). Ahora, veremos cómo funciona en Python.

Supongamos que tenemos un valor en la variable a que almacena un número grande, y el requisito dice verificar si la variable a es mayor que float("inf") o no.

>>> a=99999999999999999
>>> a_INF=float("inf")
>>> a_INF > a
True
>>> a_INF
inf

Podemos ver que a_INF es mayor que a porque este es un número infinito, así que aquí hay una forma sencilla de definir un número infinito sin importar un módulo adicional.

También podemos definir un número infinito negativo. A continuación se muestra un ejemplo.

>>> Neg_INF=float("-inf")
>>> Neg_INF
-inf

Definir un valor infinito usando el módulo matemático en Python

Otra característica para definir un número infinito es math.inf. En el módulo matemáticas, inf es una variable donde se ubica un valor infinito.

Primero, necesitaremos importarlo, y luego podemos declarar una variable como infinita usando math.inf. Veamos cómo podemos hacer esto.

>>> import math
>>> M_INF=math.inf
>>> M_INF
inf

Al igual que podemos definir el infinito positivo y negativo sin importar el módulo matemático, también podemos definir el infinito positivo o negativo utilizando el módulo matemático. Vamos a ver.

>>> M_NEG_INF=-math.inf
>>> M_NEG_INF
-inf

Definir un valor infinito usando la función Decimal() en Python

El tercer método disponible en Python para definir un número infinito es usando el módulo decimal. El módulo decimal es otro nuevo tipo de datos.

La razón por la que crearon este tipo de datos es que los números de punto flotante no eran precisos. Un decimal es un número de punto flotante, pero se maneja de manera diferente.

Al importar el módulo decimal, podemos usar la función Decimal() para definir un valor infinito positivo o negativo.

En la función Decimal(), podemos pasar Infinito como valor de cadena, pero esto será para un valor positivo. Si queremos definir negativo, incluiremos el signo menos como -Infinito.

Veamos cómo usar la función Decimal() y su sintaxis. Para una mejor comprensión, crearemos un ejemplo con un pequeño fragmento de código.

Primero, importaremos la función Decimal del módulo decimal para que podamos almacenar un número infinito en la memoria usando una variable. Vamos a ver.

>>> from decimal import Decimal
>>> INF_POS_VAL=Decimal('infinity')
>>> INF_Neg_VAL=Decimal('-infinity')
>>> print(INF_POS_VAL)
Infinity
>>> print(INF_Neg_VAL)
-Infinity

Entonces, de esta manera, obtenemos un valor infinito y lo usamos en diferentes programas para diferentes propósitos.

Definir un valor infinito usando el módulo NumPy en Python

La última y más común forma de definir un valor infinito es usando el módulo numpy. El módulo numpy también trae una característica para definir un valor infinito usando numpy.inf.

Esto funciona igual que el módulo matemáticas. Solo se cambia el nombre del módulo.

Vamos a ver.

>>> import numpy
>>> Num_Pos_INF=numpy.inf
>>> Num_Neg_INF=-numpy.inf
>>> print(Num_Pos_INF)
inf
>>> print(Num_Neg_INF)
-inf

En diferentes scripts de Python donde manejamos el cálculo científico, necesitaremos verificar si un valor es infinito o no. Podemos verificar esto usando el método isinf() de Python.

No podemos llamarlo normalmente, pero podemos llamarlo después de importar las matemáticas porque isinf() es una función del módulo matemáticas. Dado que la función isinf() devuelve valores booleanos como verdadero o falso, pondremos un valor para determinar si el valor es infinito o no.

Si comprobamos un valor hecho con números enteros o flotantes usando la función isinf(), esta función devuelve falso porque es un valor finito.

>>> import math
>>> val=999999999999
>>> math.isinf(val)
False

¿En qué caso será verdadero este retorno?

Volverá verdadero cuando pasemos un valor infinito negativo o positivo. En ambos casos obtendremos un valor real.

>>> math.isinf(-numpy.inf)
True

Entonces, de esta manera, podemos definir el valor más grande y más pequeño en Python. Para más detalles, puede visitar aquí.

Salman Mehmood avatar Salman Mehmood avatar

Hello! I am Salman Bin Mehmood(Baum), a software developer and I help organizations, address complex problems. My expertise lies within back-end, data science and machine learning. I am a lifelong learner, currently working on metaverse, and enrolled in a course building an AI application with python. I love solving problems and developing bug-free software for people. I write content related to python and hot Technologies.

LinkedIn

Artículo relacionado - Python Math