整数的最大值和最小值

我正在寻找python整数的最小值和最大值。 例如,在Java中,我们有Integer.MIN_VALUEInteger.MAX_VALUE 。 在Python中有这样的东西吗?

在Python 2中,有sys.maxint

 >>> sys.maxint 9223372036854775807 

您可以使用-sys.maxint - 1来计算最小值,如下所示。 当然Python一旦超过这个值,就会从普通的整数切换到长整数。

在Python 3中,这个值对整数没有任何意义。 (但是,如果实际上是在查找机器的字大小 ,则密切相关的值仍可用作sys.maxsize 。)

sys.maxint常量已经从Python 3.0中移除,而是使用sys.maxsize

整型

  • PEP 237:基本上,长重命名为int。 也就是说,只有一个内置的整型,名为int; 但它的行为大多像旧的长型。
  • PEP 238:像1/2这样的expression式返回一个浮点数。 使用1 // 2来获取截断行为。 (后者的语法已经存在多年了,至less从Python 2.2开始)。
  • sys.maxint常量被删除,因为整数的值不再有限制。 但是,sys.maxsize可以用作比实际列表或string索引更大的整数。 它符合实现的“自然”整数大小,并且通常与以前版本中的sys.maxint相同(假设有相同的构build选项)。
  • 长整数的repr()不再包含尾随的L,所以无条件去掉那个字符的代码会把最后一个数字砍掉。 (用str()代替。)
  • 八进制文字不再是0720的forms; 改用0o720。

请参阅: https : //docs.python.org/3/whatsnew/3.0.html

如果你只需要一个比所有其他人都多的号码,你可以使用

 float('inf') 

以类似的方式,一个比所有其他人小的数字:

 float('-inf') 

这在python 2和3中都可以使用。

在Python中,整数将自动从一个固定大小的intexpression式切换到一个可变宽度的long表示forms,一旦您传递了值为sys.maxint的数值,取决于您的平台,它是2 31 – 1或2 63 – 1。 注意这里附加的L

 >>> 9223372036854775807 9223372036854775807 >>> 9223372036854775808 9223372036854775808L 

从Python手册 :

数字是由数字文字或内置函数和运算符的结果创build的。 未经修饰的整数文字(包括二进制,hex和八进制数字)会产生纯整数,除非它们表示的值太大而无法用纯整数表示,在这种情况下,它们会产生一个长整数。 具有'L''l'后缀的整数文字会产生长整数( 'L'是首选,因为1l看起来太像十一个!)。

Python很难假装它的整数是math整数,而且是无界的。 它可以,例如,轻松地计算一个googol :

 >>> 10**100 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000L 

我从谷歌来到这里,正在寻找python3.在这种情况下,

 import sys max = sys.maxsize min = -sys.maxsize