如何在Python中表示整数的最小值和最大值?在Java中,我们有Integer。MIN_VALUE和Integer.MAX_VALUE。


请参见:Python中的最大浮点数是什么?


当前回答

在Python中,一旦传入sys值,整数将自动从固定大小的int表示转换为可变宽度的长表示。Maxint,它是231 - 1或263 - 1,这取决于你的平台。注意这里加了个L

>>> 9223372036854775807
9223372036854775807
>>> 9223372036854775808
9223372036854775808L

来自Python手册:

数字是由数字字面值或作为内置函数和操作符的结果创建的。未经修饰的整数字面量(包括二进制、十六进制和八进制数)产生普通整数,除非它们所表示的值太大,不能用普通整数表示,在这种情况下,它们产生长整数。带'L'或'L'后缀的整数字面值会产生长整数('L'是首选,因为1l看起来太像11了!)

Python非常努力地假装它的整数是数学整数并且是无界的。例如,它可以轻松计算googol:

>>> 10**100
10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000L

其他回答

下面给出的代码将帮助您。 对于最大值,可以使用sys。对于Maxsize和minimum,您可以对相同的值进行否定并使用它。

import sys 

ni=sys.maxsize
print(ni)

如果你想要数组或列表索引的最大值(相当于C/ c++中的size_t),你可以使用numpy:

np.iinfo(np.intp).max

这与sys相同。Maxsize的优点是你不需要import sys。

如果你想在机器上为本机int设置max:

np.iinfo(np.intc).max

您可以在doc中查看其他可用的类型。

对于浮点数,你也可以使用sys.float_info.max。

如果你只需要一个比其他所有数字都大的数字,你可以使用

float('inf')

小数:以类似的方式比其他数都小的数:

float('-inf')

这在python2和python3中都有效。

你可以这样使用'inf':

import math
bool_true = 0 < math.inf
bool_false = 0 < -math.inf

参考:math -数学函数

对于Python 3,它是

import sys
max_size = sys.maxsize
min_size = -sys.maxsize - 1