📅  最后修改于: 2023-12-03 15:04:34.824000             🧑  作者: Mango
在Python 2版本中,有两种整数类型:int
和long
。其中,int
类型表示标准整数,而long
类型则是为了支持超出int
类型范围的大整数而生。
但是,在Python 3版本中,这两种整数类型已经合并成一种类型,即Python 3中的整数类型就是Python 2中的long
类型,因此,Python 3中不再有long
类型。
在Python中,当我们需要表示的整数超出了int
类型的表示范围时,就要使用long
类型。下面是Python 2中的创建long
类型整数的几种方法:
我们可以使用L
或者l
来区分int
和long
,但是这种方式在Python 3中已经不被支持了。
a = 1234567890L
b = 1234567890123456789L
除此之外,我们还可以通过long()
函数或者把整数转换为字符串,再赋值为long
来创建long
类型整数。
a = long(1234567890)
b = long('1234567890123456789')
在整数运算中,Python会自动将两个int
类型的数运算的结果转换为long
类型,如果其中有一个操作数是long
类型,那么Python会自动使用long
类型来表示结果。
a = 123456
b = 1234567890123456789L
c = a * b
print(c)
在Python 3中,不再区分int
类型和long
类型,所有整数都属于int
类型,只是这种类型的表示范围非常大。
a = 123456789012345678901234567890
print(type(a))
输出结果:
<class 'int'>
值得注意的是,在Python 3中,可以使用下划线来分隔数字,增加数字的可读性,例如:
a = 123_456_789
Python中的long
类型,是为了支持超出int
类型范围的大整数而生,但是,随着Python 3的到来,这种类型已经不再被使用了。在Python 3中,整数类型可以表示非常大的整数,完全可以满足我们的需要。