1️⃣什么是整型?
所谓整型就是没有小数点的数字, Python 中的整型,可以是任意大小的整数,包括负整数。
2️⃣分隔符
当书写很大的数时,可使用下划线将数字分组,使其更清晰易读;Python 自动忽略数字之间的下划线,并且这种写法也适用于浮点数,但要注意:此种写法只有 Python3.6 及以上版本才支持。
num1 = 10_000_000
print(num1)
3️⃣整型上限值
Python 中存储整数上限值的大小取决于:计算机的内存和处理能力,我们先来认识一下『幂运算符』,代码如下
a = 3 ** 2 # 表示3的平方
b = 2 ** 3 # 表示2的3次方
print(a) # 9
print(b) # 8
通过幂运算,构建一个很大的数,随后打印它,我们会发现:代码报错了。
a = 3 ** 2 # 表示3的平方
b = 2 ** 3 # 表示2的3次方
print(a) # 9
print(b) # 8
通过幂运算,构建一个很大的数,随后打印它,我们会发现:代码报错了。
a = 9 ** 9999 # 9的9999次方
print(a) # 打印x
![图片[1]-5.3. 整型-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/10/image-57.png)
上面报错中提及了”Exceeds the limit (4300 digits)”,但这并不代表 Python 最大只能表示4300位的数,比如我们把print删掉,会发现代码正常运行,并且此时的a也是可以正常参与数学运算的。
a = 9 ** 9999 # 9的9999次方
b = a + 100
那加上了print(a)为什么报错呢?原因如下:
调用print(a)时,Python 底层会把a的类型转换成『字符串类型』再输出,而从 Python3.11 起,Python 对超大整数转换字符串的长度进行了限制,默认位数是4300位。
扩展知识(了解即可):
通过如下代码,可以解除字符串转换时的4300位限制,如下代码中包含模块相关内容,我们还没有讲到,所以不必纠结下面代码的具体含义,只需要先知道:4300位的限制可以修改即可。
import sys
sys.set_int_max_str_digits(0) # 设置为0表示不作任何限制
x = 9 ** 9999 # 9的9999次方
print(x) # 打印x
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END














请登录后查看评论内容