有人知道Python如何在内部管理int和long类型吗?
- 它是否动态地选择了正确的类型?
- 智力的极限是多少?
- 我使用的是Python2.6,与以前的版本不同吗?
我应该如何理解下面的代码?
>>> print type(65535)
<type 'int'>
>>> print type(65536*65536)
<type 'long'>
更新:
>>> print type(0x7fffffff)
<type 'int'>
>>> print type(0x80000000)
<type 'long'>
Tags:
int
和long
是“统一的”a few versions back。在此之前,可以通过数学运算使int溢出。3.x通过完全消除long并只使用int进一步推进了这一点
sys.getsizeof()
检查。sys.maxsize
类似。这个PEP应该有用。
总之,在python版本中,您不必担心它>;2.4
在我的机器上:
Python使用int(32位有符号整数,我不知道它们是否是隐藏的C int)来表示适合32位的值,但是对于更大的值,Python会自动切换到long(任意大量的位,即bignum)。我猜这会加快较小值的速度,同时通过无缝转换到bignum来避免任何溢出。
相关问题 更多 >
编程相关推荐