如何在Python中表示一个无限数? |
您所在的位置:网站首页 › 无穷大怎么定义 › 如何在Python中表示一个无限数? |
如何在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 |