0

这是我的代码:

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

为什么,在我调用之后inta它的类型仍然是long而不是int

4

1 回答 1

1

文档

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

[...] 如果参数超出整数范围,则该函数将返回一个 long 对象。

PEP 237中,int 和 long 大多是统一的。这两种类型之间几乎没有区别,python 在必要时会自动将大数字转换为长整数。另请参阅Python 如何管理 int 和 long?.

于 2018-06-02T10:41:49.793 回答