这是我的代码:
In [2]: a = 11111111111111111111111111
In [3]: a = (int)(a)
In [4]: type(a)
Out[4]: long
In [5]: a = int(a)
In [6]: type(a)
Out[6]: long
为什么我在int
上致电a
后,其类型仍然是long
而不是int
?
答案 0 :(得分:1)
来自the docs:
class int(x = 0)
类int(x,base = 10)[...]如果参数超出整数范围,则为函数 而是返回一个长对象。
对于PEP 237,整数和长期大多是统一的。两种类型之间几乎没有区别,python会在必要时自动将大数字转换为long。另请参阅How does Python manage int and long?。