📜  python中的long(1)

📅  最后修改于: 2023-12-03 15:04:34.824000             🧑  作者: Mango

Python中的Long

在Python 2版本中,有两种整数类型:intlong。其中,int类型表示标准整数,而long类型则是为了支持超出int类型范围的大整数而生。

但是,在Python 3版本中,这两种整数类型已经合并成一种类型,即Python 3中的整数类型就是Python 2中的long类型,因此,Python 3中不再有long类型。

Python 2中的long

在Python中,当我们需要表示的整数超出了int类型的表示范围时,就要使用long类型。下面是Python 2中的创建long类型整数的几种方法:

直接创建

我们可以使用L或者l来区分intlong,但是这种方式在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中的整数类型

在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中,整数类型可以表示非常大的整数,完全可以满足我们的需要。