如何在Python中表示一个无限数?

您所在的位置:网站首页 无穷大怎么定义 如何在Python中表示一个无限数?

如何在Python中表示一个无限数?

2024-07-14 16:56| 来源: 网络整理| 查看: 265

如何在python中表示无穷大? 无论您在程序中输入哪个数字,任何数字都不得大于此无穷大表示形式。

#1楼

另一种较不方便的方法是使用Decimal类:

from decimal import Decimal pos_inf = Decimal('Infinity') neg_inf = Decimal('-Infinity') #2楼

在python2.x中,有一个肮脏的hack可以达到这个目的(除非绝对必要,否则不要使用它):

None < any integer < any string

因此,对于任何整数i ,检查i < ''都为True 。

在python3中已合理弃用了它。 现在这样的比较最终

TypeError: unorderable types: str() < int() #3楼

从Python 3.5开始,您可以使用math.inf :

>>> import math >>> math.inf inf #4楼

首先,虽然float('inf')类型可用于比较目的,但它是float类型,但与之比较却相当慢。 因此,如果将大量数字与float('inf')进行比较,则请小心选择它。 我不确定“ math.inf”的性能。

#5楼

NumPy库中有一个无穷大: from numpy import inf 。 要获得负无穷大,只需写-inf 。

#6楼

似乎没有人明确提到负无穷大,所以我认为我应该添加它。

对于正无穷大(仅出于完整性考虑):

math.inf

对于负无穷大:

-math.inf #7楼

另外,如果您使用SymPy,则可以使用sympy.oo

>>> from sympy import oo >>> oo + 1 oo >>> oo - oo nan

等等

#8楼

我不知道您在做什么,但是float("inf")为您提供了一个float Infinity,它比任何其他数字都大。

#9楼

在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)较小,例如:

float('inf') < Ellipsis

将返回true。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3