如何在Python中表示无限大?
在这篇文章中,我们将展示如何在Python中表示一个 无限大 的数。
无穷大 是一个未定义的数字,可以为正数也可以为负数。一个数字用来表示无穷大,两个数字值的和可以是一个数值,但是可能具有不同的模式;它可能具有负值或正值。
对于无限大数值的所有算术运算,无论加法、减法、乘法或其他任何操作,结果始终为一个无限大的数字。
在计算机科学领域,无穷大常用于评估和优化进行大规模计算的算法。
更多Python相关文章,请阅读:Python 教程
Python中的无穷大
为什么无穷大是浮点数据类型而不是 整数 的数据类型,这是由Python中整数的表示方式所决定的。一个整数用二进制表示,例如,值为 7 表示为 0111 。
在Python中没有办法将无穷大表示为一个整数。这是其他许多流行编程语言的基本特征。但是,由于Python是一种动态类型语言,您可以使用 float(inf) 作为 整数 来表示无穷大。
因此,我们无法在Python中表示无穷大,或者我们可以说,没有办法将无穷大表示为整数。不过,可以使用 float (inf) 作为一个整数。
正无穷大:inf
负无穷大:-inf
使用float(’inf’)表示无穷大数
因为无穷大既可以是正数也可以是负数,所以可以分别表示为 float(‘inf’) 和 float(‘-inf’) 。
算法(步骤)
以下是执行所需任务的算法/步骤 –
- 使用 float(‘inf’) 获取正无穷大整数值并创建一个变量来存储它。
-
打印正无穷大值。
-
使用 float(‘-inf’) 获取负无穷大整数值并创建一个变量来存储它。
-
打印负无穷大值。
示例
下面的程序将使用 float(‘inf’) 返回正无穷大值 –
#使用float(inf)函数获取正无穷大整数值
positiveInfinity = float('inf')
#打印正无穷大整数值
print('Positive Infinity value = ', positiveInfinity)
#使用float(-inf)函数获取负无穷大整数值
negativeInfinity = float('-inf')
#打印负无穷大整数值
print('Negative Infinity value = ', negativeInfinity)
输出
在执行上述程序后,将生成以下输出 –
Positive Infinity value = inf
Negative Infinity value = -inf
使用math模块表示无穷大数
我们可以使用math模块来表示无穷大值,但是它只适用于Python 3.5或更高版本。因为无限大既可以是正数也可以是负数,所以用 math.inf 和 -math.inf 分别表示。
示例
# 导入math模块
import math
# 使用math.inf打印正无穷
print('正无穷 = ', math.inf)
# 使用-math.inf打印负无穷
print('负无穷 = ', -math.inf)
输出
执行上述程序将生成以下输出 −
正无穷 = inf
负无穷 = -inf
使用Decimal()函数表示无穷数
我们使用 Decimal(‘Infinity’) 表示正无穷数,使用 Decimal(‘-Infinity’) 表示负无穷,使用decimal模块表示无穷。
示例
# 导入decimal模块中的Decimal
from decimal import Decimal
# 使用Decimal()函数打印正无穷数
print('正无穷 = ', Decimal('Infinity'))
# 使用Decimal()函数打印负无穷数
print('负无穷 = ', Decimal('-Infinity'))
输出
执行上述程序将生成以下输出 −
正无穷 = Infinity
负无穷 = -Infinity
使用NumPy模块表示无穷数
另一种在Python中表示无穷大的方法是使用 NumPy 模块,其中 np.inf 和 -np.inf 分别表示正无穷和负无穷。
NumPy是一个Python库,旨在有效地使用Python中的数组。 它快速,易于学习,并且存储效率高。
示例
# 导入NumPy模块
import numpy as np
# 使用numpy.inf打印正无穷
print('正无穷 = ', np.inf)
# 使用-numpy.inf打印负无穷
print('负无穷 = ', -np.inf)
输出
执行上述程序将生成以下输出 −
正无穷 = inf
负无穷 = -inf
判断Python中的数字是否为无穷
要确定给定的数字是否为无穷,则使用math库的 isinf() 方法,该方法返回一个 布尔值 。
示例
# 导入numpy和math模块
import numpy as np
import math
# 使用numpy.inf创建一个正无穷大整数
x = np.inf
# 使用-numpy.inf创建一个负无穷大整数
y = -np.inf
# 有限的整数
z = 40
# 使用isinf()函数检查x是否为无穷大数
print(math.isinf(x))
# 使用isinf()函数检查y是否为无穷大数
print(math.isinf(y))
# 使用isinf()函数检查z是否为无穷大数
print(math.isinf(z))
输出
执行上述程序后,将生成以下输出 −
True
True
False
python中无限和有限值的比较
比较无限值与有限值的思想非常简单。因为 正无穷大 总是 大于 任何自然数,并且 负无穷大 总是小于负数。
示例
# 导入numpy模块
import numpy as np
# 使用numpy.inf创建一个正无穷大整数
x = np.inf
# 使用-numpy.inf创建一个负无穷大整数
y = -np.inf
# 正有限整数
z = 40
# 负有限整数
k = -40
# 创建一个比较两个数字(正无穷大和负无穷大)的函数,接受2个数字作为参数
def compareNumbers(p, q):
# 检查p是否大于q,即第一个数是否大于第二个数
if p>q:
# 如果大于则打印True
print("True")
else:
# 如果不大于则打印False
print("False")
# 通过传递上述定义的任何2个变量进行比较,即调用compareNumbers()
# 函数进行比较
compareNumbers(x, y)
compareNumbers(x, z)
compareNumbers(y, k)
compareNumbers(x, k)
compareNumbers(y, z)
输出
执行上述程序后,将生成以下输出 −
```python
True
True
False
True
False
结论
在本文中,我们学习了如何使用几种方法在Python中表示无限大。我们还学习了如何比较无限和有限的值以及如何确定给定整数是否为无限的。