首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python如何管理int和long?

Python如何管理int和long?
EN

Stack Overflow用户
提问于 2010-01-21 04:54:09
回答 9查看 270.4K关注 0票数 143

有人知道Python是如何在内部管理int和long类型的吗?

  • 是否动态选择正确的类型?
  • 整型的限制是什么?
  • 我使用的是Python2.6,与以前的版本不同吗?

我应该如何理解下面的代码?

代码语言:javascript
复制
>>> print type(65535)
<type 'int'>
>>> print type(65536*65536)
<type 'long'>

更新:

代码语言:javascript
复制
>>> print type(0x7fffffff)
<type 'int'>
>>> print type(0x80000000)
<type 'long'>
EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2010-01-21 05:01:55

intlong是“统一的”a few versions back。在此之前,可以通过数学运算使int溢出。

3.x通过完全消除long和只有int进一步推进了这一点。

Python 2:sys.maxint包含

  • Python int可以容纳的最大值。
    • 在一个64位的Python2.7上,大小是24字节。请与sys.getsizeof().

核实

Python 3sys.maxsize包含

  • Python int可以达到的最大字节数。
    • 这将是32位的千兆字节,64位的艾字节。
    • 如此大的整数将具有类似于8的sys.maxsize.

幂的值

票数 147
EN

Stack Overflow用户

发布于 2010-01-21 05:02:57

这个PEP应该会有帮助。

底线是,在高于2.4的python版本中,您真的不应该担心这个问题

票数 23
EN

Stack Overflow用户

发布于 2018-09-05 10:10:05

Python 2将根据值的大小自动设置类型。最大值的指南可以在下面找到。

Python 2中的默认Int的最大值为65535,任何大于该值的值都将是一个长整型

例如:

代码语言:javascript
复制
>> print type(65535)
<type 'int'>
>>> print type(65536*65536)
<type 'long'>

在Python3中,删除了long数据类型,所有整数值都由Int类处理。Int的默认大小将取决于您的CPU架构。

例如:

  • 32位系统整数的默认数据类型将是'Int32‘
  • 64位系统整数的默认数据类型将是'Int64'

每种类型的最小/最大值可以在下面找到:

-128,127

  • Int16:-32768,32767

  • Int32:-2147483648,2147483647

  • Int64:-9223372036854775808,9223372036854775807

  • Int128:-170141183460469231731687303715884105728,170141183460469231731687303715884105727

  • UInt8: 0,255

  • UInt16: 0,65535

  • UInt32: 0,4294967295

  • UInt64: 0,18446744073709551615

  • UInt128: 0,340282366920938463463374607431768211455

  • Int8

如果你的Int的大小超过了上面提到的限制,python会自动改变它的类型,并分配更多的内存来处理min/max值的增加。在Python 2中,它会转换为'long',现在只是转换为下一个大小的Int。

示例:如果您使用的是32位操作系统,则Int的最大值默认为2147483647。如果指定的值大于或等于2147483648,则类型将更改为Int64。

有不同的方法来检查int的大小和它的内存分配。注意:在Python3中,使用内置的type()方法将始终返回<class 'int'>,无论您使用的是什么大小的Int。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2104884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档