Python如何确定我的系统能够处理的最大/最小int/long/float/复数

Python如何确定我的系统能够处理的最大/最小int/long/float/复数,python,math,python-3.x,max,min,Python,Math,Python 3.x,Max,Min,规范:Python 3.3.1 我试图做的事情:使用Python,确定系统能够处理的最大和最小整数、长整数、浮点数和复数 我做了什么:我浏览了Python的数学模块和所有与数学和数字相关的内置函数,但找不到实现这一点的方法。我还尝试了类似于max(范围(0,)的方法,但它返回了ValueError:max()arg是一个空序列错误 问题:如何确定我的系统可以使用Python处理的最大/最小int/long/float/复数?作为一个完全的初学者,我知道我一定错过了什么,但我试过了,却没能弄明白。

规范:Python 3.3.1

我试图做的事情:使用Python,确定系统能够处理的最大和最小整数、长整数、浮点数和复数

我做了什么:我浏览了Python的数学模块和所有与数学和数字相关的内置函数,但找不到实现这一点的方法。我还尝试了类似于
max(范围(0,)
的方法,但它返回了
ValueError:max()arg是一个空序列
错误


问题:如何确定我的系统可以使用Python处理的最大/最小int/long/float/复数?作为一个完全的初学者,我知道我一定错过了什么,但我试过了,却没能弄明白。我感谢你的帮助

sys.float\u info
提供所需的浮点值信息

>>> sys.float_info.max
1.7976931348623157e+308

Python 3没有整数的上限或下限,也没有对任意复数排序的数学定义(尽管两个复数的实部或虚部可以分别排序)。

Python的数字限制(如有)可在以下网站上找到:

  • 对于您的平台,是一个具有浮点限制的命名元组。浮点数由指数和精度组成;你必须更准确地说出这里最大的数字是什么意思;使用的最大指数和全精度的数字是
    sys.float\u info.max

  • );与其说是限制,不如说是实施细节;您应该能够由此估计出可能的最大整数。Python整数仅受可用内存的限制

  • );平台字大小和限制为列表、元组等

所以对于整数,基本上对最大值和最小值有一个软限制。这取决于您的进程可以使用多少内存,以及您的进程已经为其他事情使用了多少内存

在Python 3中,不再有单独的
long
类型,但在Python 2中,
sys.maxsize+1
必须是
long
,就像
-sys.maxsize-2
一样。在这两个极端之间是可能的“短”整数的范围

对于复数,排序要稍微复杂一些。。。。反正很复杂。复数有实部和虚部,两者都是浮点数。你猜怎么着?这些是python浮动,上面已经有了它们的限制信息:

>>> type(1j)
<type 'complex'>
>>> type(1j.real)
<type 'float'>
>>> type(1j.imag)
<type 'float'>
>类型(1j)
>>>类型(1j.真实)
>>>类型(1j.imag)

Python 3中没有最大或最小的整数,因为使用了任意精度。复数不是完全有序的,所以没有最大或最小的数。(例如,1既不小于、等于,也不大于i。)感谢您指出另一条线索!既然它没有回答我问题中的“长、浮点数、复数”部分(或者是真的?我错过了什么吗?),我还是把这个帖子留在这里吧,如果有人问长/浮点数/复数可能需要它?@chepner谢谢你花时间!请原谅,但我不完全理解您提到的
任意精度。这是否意味着它取决于盒子的内存大小?如果是这样,有没有办法在解释器中看到结果?谢谢对的从Python的角度来看,没有最大大小。在某一点上可能会出现OutOfMemory错误。@chepner明白了。非常感谢。谢谢你的回答!虽然在我使用Python3.3.1的系统上,它是
sys.float\u info
。但事实上,你指出了这条路是非常有帮助的。非常感谢。固定的。我感到困惑,因为
sys.float\u info
sys.floatinfo
类的一个实例。我还不太明白你的意思。但如果是因为我错过了什么,我真诚地道歉,Python的初学者!尝试
键入(sys.float\u info)
。类的名称和该类的实例的名称非常相似。说得很好。非常感谢你!我使用Python2.7.3,没有
sys.int\u info
,但是
sys.long\u info
正确;这个问题被标记为
python-3.x
,因此我将重点放在该版本上。Python 3完全消除了
long
int
之间的区别。由于信息记录了Python2
long
是如何处理的,因此2.x
sys
属性名自然地反映了这一点。