为什么不能将long类型转换为int类型

时间:2018-06-02 10:30:30

标签: python int

这是我的代码:

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

1 个答案:

答案 0 :(得分:1)

来自the docs

  

class int(x = 0)
  类int(x,base = 10)

     

[...]如果参数超出整数范围,则为函数   而是返回一个长对象。

对于PEP 237,整数和长期大多是统一的。两种类型之间几乎没有区别,python会在必要时自动将大数字转换为long。另请参阅How does Python manage int and long?