Python无穷(Infinite Number)教程

无穷大是一个用来描述不可数的大小、寿命和编程语言的术语。编程语言提供从简单到复杂的数据结构,以表示整数、十进制、浮点、双精度、正数、负数等数字,但无穷大或无穷大是一种特例。在本教程中,我们将通过询问如何创建、定义、比较和计算无限变量来研究Python编程语言的无限数和无穷数。

null

什么是无穷大?

当我们谈论数字时,我们知道所有的数字都是精确可数的,并且很容易用1,2,3,10.5等数字来表示。但是无限数不同于所有其他数字,不能根据它的定义来计算。无穷大或无限数只能表示,不能像数学运算中的正则数那样计数或使用。正数和负数一样,正无穷远低于所有可数,正无穷远高于所有可数。负无穷大用-∞ 正无穷大用+∞.

用Python表示无穷大

作为一种流行的动态编程语言,Python提供了不同的方法来定义和使用无限值和变量,甚至术语infinity似乎也有点难以定义。下面您可以找到在Python中定义无限的方法。无穷大是用 IEEE-754-1985 大多数现代编程语言都提供了标准的。根据该标准,无穷大或无穷大的数据或变量类型应为浮点型。

  • 用浮点数表示无穷大
  • 用小数表示无穷大
  • 用math.inf表示无穷大
  • 用NumPy表示无穷大
  • 用SumPy表示无穷大
  • 用Kvesteri无穷大类表示无穷大

使用float()函数创建无限变量/值

可以使用float数据类型定义和表示正无穷数和负无穷数或无穷大。我们只使用 float()函数 并提供定义字符串 中导 正无穷大和 -中导 为负无穷大。

# positive infinity
positive_inf = float("inf")
# negative infinity
negative_inf = float("-inf")
 
print(positive_inf)
# inf
print(negative_inf)
# -inf
print(type(positive_inf))
图片[1]-Python无穷(Infinite Number)教程-yiteyi-C++库
使用Float创建无限变量/值

创建带小数的无限变量/值

在Python中,创建或表示正负无限的另一种数据类型是decimal。无穷大的创建与十进制类型的浮点类型非常相似。我们将提供 无穷 正无穷大和 -无限 为负无穷大。为了使用Decimal类型,应该从 十进制模块 就像下面一样。

from decimal import Decimal

positive_infinity = Decimal("Infinity")
negative_infinity = Decimal("-Infinity")
print(positive_infinity)
# The output is "Infinity
"print(negative_infinity)
# The output is "-Infinity"type(positive_infinity)
# The output is "<class 'decimal.Decimal'>"
图片[2]-Python无穷(Infinite Number)教程-yiteyi-C++库
创建带小数的无限变量/值

使用math.inf创建无限变量/值

Python为高级数学计算和定义提供了数学模块。Infinity也由Python数学模块提供。正无穷大和负无穷大都可以用数学模型来表示 数学.inf -数学.inf . 但是为了使用数学模块无穷大,您应该导入 数学模块 就像下面一样。

import math

positive_infinity = math.inf

negative_infinity = -math.inf


print(positive_infinity)
# The output is "inf"
print(negative_infinity)
# The output is "-inf"
type(positive_infinity)
# The output is "<class 'float'>"
type(negative_infinity)
# The output is "<class 'float'>"

你可以从照片上看到 类型() 函数输出math.inf与float类型infinity相同并从中派生。

使用NumPy创建无限变量/值

NumPy是一个流行的Python模块,它提供了处理数字的广泛功能。作为一个数字,无穷大可以用NumPy模块来表示和创建。NumPy为正无穷大提供 numpy.inf文件 负无穷大 -numpy.inf文件 . NumPy是由第三方软件包provide-PyPy提供的一个外部模块。默认情况下不安装它,但可以使用下面的包管理或pip命令轻松安装。

$ pip3 install numpy

现在你可以用正无穷大和负无穷大来表示NumPy。

import numpy

positive_infinity = numpy.inf

negative_infinity = -numpy.inf


print(positive_infinity)
#The output is "inf"
print(negative_infinity)
#The output is "-inf"

type(positive_infinity)
#The output is "<class 'float'>"
type(negative_infinity)
#The output is "<class 'float'>"
图片[3]-Python无穷(Infinite Number)教程-yiteyi-C++库
使用NumPy创建无限变量/值

检查是无穷大还是无穷大

Python数学模块提供 isinf() 函数来检查给定的值、变量或数字(如果它是无限的)。它将检查给定的数字是否为正或负无穷大,如果为负或正无穷大则返回true。应该为此操作导入数学模块。

import math

a = float("inf")

b = float("-inf")

c = 99999999

d = -9999999999

print(math.isinf(a))
#The output is "True"
print(math.isinf(b))
#The output is "True"
print(math.isinf(c))
#The output is "False"
print(math.isinf(d))
#The output is "False"
图片[4]-Python无穷(Infinite Number)教程-yiteyi-C++库
检查是无穷大还是无穷大

比较不同的无限值表示

让我们使用if-else条件来比较不同的无穷多个表示形式。我们将用不同的方法创建无限变量,并相互比较。

import math
import decimal

a = float("inf")
b = decimal.Decimal("Infinity")
c = math.inf

print(a==b)
#The out is "True"
print(a==c)
#The out is "True"
print(b==c)
#The out is "True"
图片[5]-Python无穷(Infinite Number)教程-yiteyi-C++库
比较不同的无限值表示

无限值计算

具有无穷大或无穷大值的计算是以数学理论为基础的。简单地说,当我们用5个结果求和无穷大时,结果就是无穷大。我们可以用无穷多的数字进行大多数的数学计算。让我们看看这些例子。

import math

a = float("inf")

b = float("inf")

c = float("-inf")


print(a+5 == b)
# True

print(a-5 == b)
# True

print(a == c)
# False

print(a > c)
# True

print(a/b)
# nan

print(a/c)
# nan

print(a*b)
# inf

print(a*b == b)
# True
图片[6]-Python无穷(Infinite Number)教程-yiteyi-C++库

使用For和While循环迭代到无穷大

无限表示不可接近,但我们可以迭代到无限。这也称为无限循环。使用 for循环 不能迭代到无穷大,因为迭代使用整数类型,但无穷大类型是float。即使尝试不同的方法,也没有可行的方法来迭代for循环。如果尝试使用for来迭代无穷大,将出现以下错误。

for x in range(0,int(math.inf)):
   print("I go to the infinite...")

#Traceback (most recent call last):
#  File "<stdin>", line 1, in <module>
#OverflowError: cannot convert float infinity to integer

for x in range(0,math.inf):
   print("I go to the infinite...")

#Traceback (most recent call last):
#  File "<stdin>", line 1, in <module>
#TypeError: 'float' object cannot be interpreted as an integer
图片[7]-Python无穷(Infinite Number)教程-yiteyi-C++库
用For循环迭代到无穷大

你可以用 while循环 为了迭代到无穷大,因为我们只需将给定的有限数与无穷大数进行比较,然后迭代到下一步,除非我们取消这个过程,否则下一步将无限期地继续。

x = 0
while x < math.inf:
   print("I go to the infinite...")
图片[8]-Python无穷(Infinite Number)教程-yiteyi-C++库
用While循环迭代到无穷大

无限vs楠

NaN或NaN是Python中类似float、int、list等的数据类型。创建NaN只是为了不存储任何内容和值。在某些情况下,它可能会与无限数混淆,但它们是完全不同的。Infinity或infinite number是可以计数的浮点型数字,但NaN不是数据或空类型。所以它们不一样,比较无限数和Nan类型将返回一个假值。例如,我们可以用一个无穷大的数来进行可数的while迭代,但是不能用NaN来进行可数的迭代。

import math

print(math.inf == math.nan)
#The output is "False"print(math.inf != math.nan)
#The output is "True"
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享