Python如何管理int和long?

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

  • 它是否动态地选择了正确的类型
  • 整数的极限是多少
  • 我使用的是Python2.6,与以前的版本不同吗

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

&gt&燃气轮机&燃气轮机;打印类型(65535)
<键入“int”>
&燃气轮机&燃气轮机&燃气轮机;打印类型(65536*65536)
<输入“long”>

更新:

&gt&燃气轮机&燃气轮机;打印类型(0x7fffffff)
<键入“int”>
&燃气轮机&燃气轮机&燃气轮机;打印类型(0x8000000)
<输入“long”>

intlong在过去的几个版本中是“统一”的。在此之前,可以通过数学运算使int溢出

3.x通过完全消除long并只使用int进一步改进了这一点

  • Python2sys.maxint包含Pythonint可以保存的最大值。
    • 在64位Python 2.7上,大小为24字节。使用sys.getsizeof()检查
  • Python 3sys.maxsize包含Python int可以达到的最大字节大小。
    • 这将是32位的千兆字节,64位的EB字节
    • 如此大的整数的值类似于8的幂,即sys.maxsize

发表评论