如何在python中表示无限数?无论您在程序中输入哪个数字,任何数字都不应大于无穷大的表示。
我不知道你到底在做什么,但是float("inf")给你一个浮点无穷大,它比任何其他数字都大。
float("inf")
在Python中,你可以这样做:
test = float("inf")
在Python 3.5中,您可以:
import math test = math.inf
然后:
test > 1 test > 10000 test > x
当然,除非如前所述,x也是无穷大或“nan”(“不是数字”)。
此外(仅限Python 2. x),与Ellipsis相比,float(inf)较小,例如:
Ellipsis
float(inf)
float('inf') < Ellipsis
将返回true。
另一种不太方便的方法是使用Decimal类:
Decimal
from decimal import Decimal pos_inf = Decimal('Infinity') neg_inf = Decimal('-Infinity')
在python2. x中,有一个肮脏的黑客服务于此目的(除非绝对必要,否则永远不要使用它):
None < any integer < any string
因此,检查i < ''对任何整数i持有True。
i < ''
i
True
它在python3中已经被合理地弃用了。现在这样的比较结束了
TypeError: unorderable types: str() < int()
从Python 3.5开始,您可以使用math.inf:
math.inf
>>> import math >>> math.inf inf
NumPy库中有一个无穷大:from numpy import inf。要获得负无穷大,只需编写-inf。
from numpy import inf
-inf
似乎没有人明确提到负无穷大,所以我想我应该加上它。
对于负无穷大:
-math.inf
对于正无穷大(只是为了完整性):
如果你使用SymPy,你可以使用sympy.oo
sympy.oo
>>> from sympy import oo >>> oo + 1 oo >>> oo - oo nan
等
正无穷大
pos_inf_val = float("infinity")
对于负无穷大
neg_inf_val = float("-infinity")
在python中表示∞
python
float("inf")或float("INF")或float("Inf")或float("inF")或float("infinity")或float("Infinity")创建一个float对象,其中包含∞
float("INF")
float("Inf")
float("inF")
float("infinity")
float("Infinity")
float
您也可以在python中表示-∞
float("-inf")或float("-INF")或float("-Inf")或float("-infinity")创建一个持有-∞的浮点对象
float("-inf")
float("-INF")
float("-Inf")
float("-infinity")
您可以执行算术运算:
infinity = float("inf") ninfinity = float("-inf") nan = float("nan") print(infinity*infinity)#inf print(ninfinity+infinity)#not a number print(1/-infinity)#is -0.0 print(nan*nan)# is not a number print(1/infinity) # is 0.0 since 1/∞ is 0
$ python3 floating.py inf nan -0.0 nan 0.0
总而言之,无限有两种定义。
posVal1 = math.inf posVal2 = float("inf")
negVal1 = -math.inf negVal2 = float("-inf")
float('inf')
float('-inf)
positive_infinity = float('inf') # inf negative_infinity = float('-inf') # -inf
import math positive_infinity = math.inf # inf negative_infinity = -math.inf # -inf
maxsize
import sys maxSize = sys.maxsize # 9223372036854775807 minSize = -sys.maxsize # -9223372036854775807
from decimal import Decimal positive_infinity = Decimal('Infinity') # Infinity negative_infinity = Decimal('-Infinity') # -Infinity