python的int型最大值和系统有关,32位和64位系统看到的结果是不一样,分别为2的31次方减1和2的63次方减1,可以通过sys.maxint查看此值。

>>> import sys
>>> 
>>> sys.maxint
9223372036854775807
>>> pow(2, 63)
9223372036854775808L

 

python2.4版本以后,如果int的值超出范围不会溢出,而是内部转换为long,找了很久似乎没有从long型强制转换成int,这里所说的int取值范围是和java里一致,即用四个字节表示。代码如下:

def longToInt(value):
    if value > 2147483647 :
        return (value & (2 ** 31 - 1))
    else :
        return value

转载至:http://www.netingcn.com/python-long-to-int.html

 

>>> x  = long(123)
>>> x
123L
>>> y = int(123)
>>>