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) >>>