在 Python 中定义无限值


在本文中,我们将了解什么是 Python 中的无限值以及为什么要使用无限值。 我们还将学习如何借助 Python 中的不同方式定义无限值。


在 Python 中定义无限值的传统方法

当您听到无穷大时,大多数人认为有一些东西是永无止境的,但是我们如何在 Python 中处理无穷大呢? 假设您需要在 Python 脚本中存储一个无穷大的数字; 那么,即使您可以存储多个文件的数字,您也可以存储一个更大数字的文件。

由于 Python 语言是动态的,999999999999 或存储在多个文件中的更大数字不足以在 Python 中定义无限数。

在数学中,您可以使用有限和无限的数字。 Python 带来了一个特性,我们可以定义特定范围内的有限数和无限数,就像在数学中一样; 我们可以使用负无穷大和正无穷大。

我们不能在其他编程语言中定义无限数。 在其他编程语言中,我们可以定义一组特定的值。

要定义无穷大,我们可以使用 float(“inf”) 来定义正无穷大数,对于负无穷大数,我们使用 float(“-inf”)。 现在,我们将看看它在 Python 中是如何工作的。

假设我们在变量 a 中有一个存储大量数字的值,并且要求检查变量 a 是否大于 float("inf")

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

我们可以看到 a_INF 大于 a 因为这是一个无限数,所以这里有一种简单的方法来定义一个无限数而不需要导入额外的模块。

我们也可以定义负无限数。 下面给出了一个例子。

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

使用 Python 中的数学模块定义无限值

定义无限数的另一个功能是 math.inf。 在math模块中,inf是一个无限值所在的变量。

首先,我们需要导入它,然后我们可以使用 math.inf 将变量声明为无穷大。 让我们看看如何做到这一点。

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

就像我们如何在不导入数学模块的情况下定义正无穷大和负无穷大一样,我们也可以使用数学模块定义正无穷大或负无穷大。 让我们来看看。

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

在 Python 中使用 Decimal() 函数定义无限值

Python 中定义无限数的第三种方法是使用 decimal 模块。 decimal 模块是另一种新的数据类型。

他们创建这种数据类型的原因是浮点数不准确。 小数是浮点数,但处理方式不同。

在导入 decimal 模块时,我们可以使用 Decimal() 函数来定义正或负无限值。

Decimal() 函数中,我们可以将 Infinity 作为字符串值传递,但这将是一个正值。 如果我们想定义负数,我们将包括减号,如 -Infinity。

让我们看看如何使用 Decimal() 函数及其语法。 为了更好地理解,我们将创建一个包含一小段代码的示例。

首先,我们将从 decimal 模块导入 Decimal 函数,这样我们就可以使用变量在内存中存储无限数。 让我们来看看。

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

这样一来,我们就得到了一个无穷大的值,并在不同的程序中用于不同的目的。


在 Python 中使用 NumPy 模块定义无限值

定义无限值的最后也是最常见的方法是使用 numpy 模块。 numpy 模块还带来了使用 numpy.inf 定义无限值的功能。

这与数学模块的工作原理相同。 只是更改了模块名称。

让我们来看看。

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

在我们处理科学计算的不同 Python 脚本中,我们需要检查一个值是否是无限的。 我们可以使用 Python 的 isinf() 方法来检查这一点。

我们不能正常调用它,但是我们可以在导入数学后调用它,因为 isinf() 是数学模块的函数。 由于 isinf() 函数返回布尔值,如 true 或 false,我们将放置一个值来确定该值是否为无限。

如果我们使用 isinf() 函数检查由整数或浮点数构成的值,则此函数返回 false,因为这是一个有限值。

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

在什么情况下会返回 true?

当我们传递负无限值或正无限值时,它将返回 true。 在这两种情况下,我们都会得到一个真值。

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

所以这样一来,我们就可以在 Python 中定义较大和较小的值了。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

迹忆客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值