1. Python 内置数据类型:整数 int 详解

简介: Python整数(int)无类型区分,取值范围无限,自动支持大数运算,不溢出。支持十、二、八、十六进制(如0b101、0o26、0x45),Python 3.x还允许用下划线分隔数字(如1_000_000)提升可读性。

整数就是没有小数部分的数字,Python中的整数包括正整数、0和负整数。

有些强类型的编程语言会提供多种整数类型,每种类型的长度都不同,能容纳的整数的大小也不同,开发者要根据实际数字的大小选用不同的类型。例如C语言提供了short、int、long、long long四种类型的整数,它们的长度依次递增,初学者在选择整数类型时往往比较迷惑,有时候还会导致数值溢出。

而 python则不同,它的整数不分类型,或者说它只有一种类型的整数。Python整数的取值范围是无限的,不管多大或者多小的数字,Python都能轻松处理。
当所用数值超过计算机自身的计算能力时,Python会自动转用高精度计算(大数计算)。

请看下面的代码:

#将 78 赋值给变量 n
n = 78
print(n)
print( type(n) )
#给x赋值一个很大的整数
x = 8888888888888888888888
print(x)
print( type(x) )
#给y赋值一个很小的整数
y = -7777777777777777777777
print(y)
print( type(y) )

运行结果:

78
<class 'int'>
8888888888888888888888
<class 'int'>
-7777777777777777777777
<class 'int'>

x是一个极大的数字,y是一个很小的数字,Python都能正确输出,不会发生溢出,这说明 Python 对整数的处理能力非常强大。

不管对于多大或者多小的整数,Python 只用一种类型存储,就是 int。

关于 Python 2.x

Python 3.x 只用 int 一种类型存储整数,但是 Python 2.x 会使用 long 类型来存储较大的整数。以上代码在 Python 2.x 下的运行结果为:

78
<type 'int'>
8888888888888888888888
<type 'long'>
-7777777777777777777777
<type 'long'>

但是不管哪个版本的Python,都能轻松处理极大和极小的数字,而且程序员也不用操心底层到底使用了 int 还是 long 类型。
整数的不同进制
在 Python 中,可以使用多种进制来表示整数:
1) 十进制形式
我们平时常见的整数就是十进制形式,它由 0~9 共十个数字排列组合而成。

注意,使用十进制形式的整数不能以 0 作为开头,除非这个数值本身就是 0。
2) 二进制形式
由 0 和 1 两个数字组成,书写时以0b或0B开头。例如,101 对应十进制数是 5。
3) 八进制形式
八进制整数由 0~7 共八个数字组成,以0o或0O开头。注意,第一个符号是数字 0,第二个符号是大写或小写的字母 O。

在 Python 2.x 中,八进制数字还可以直接以0(数字零)开头。
4) 十六进制形式
由 0~9 十个数字以及 A~F(或 a~f)六个字母组成,书写时以0x或0X开头,

如果你对不同进制以及它们之间的转换方法不了解,请猛击下面的链接:

  • 进制详解:二进制、八进制和十六进制
  • 进制转换:二进制、八进制、十六进制、十进制之间的转换

【实例】不同进制整数在 Python 中的使用:

#十六进制
hex1 = 0x45
hex2 = 0x4Af
print("hex1Value: ", hex1)
print("hex2Value: ", hex2)
#二进制
bin1 = 0b101
print('bin1Value: ', bin1)
bin2 = 0B110
print('bin2Value: ', bin2)
#八进制
oct1 = 0o26
print('oct1Value: ', oct1)
oct2 = 0O41
print('oct2Value: ', oct2)

运行结果:

hex1Value:  69
hex2Value:  1199
bin1Value:  5
bin2Value:  6
oct1Value:  22
oct2Value:  33

本例的输出结果都是十进制整数。

数字分隔符

为了提高数字的的可读性,Python 3.x 允许使用下划线_作为数字(包括整数和小数)的分隔符。通常每隔三个数字添加一个下划线,类似于英文数字中的逗号。下划线不会影响数字本身的值。

【实例】使用下划线书写数字:

click = 1_301_547
distance = 384_000_000
print("Python教程阅读量:", click)
print("地球和月球的距离:", distance)

运行结果:

Python教程阅读量:1301547
地球和月球的距离:384000000
相关文章
|
1月前
非一样的感觉,万相 3.0 基于SKILL视频生成!
万相3.0(Wan3.0)是阿里最新All-in-One视频生成模型,支持有声视频生成、多模态参考(图/视/音/文档/网页)、视频编辑与延长,单次最长30秒,原生输出台词、BGM及音效,首帧/首尾帧精准控制。(239字)
636 2
|
1月前
|
缓存 Linux iOS开发
DeepSeek Harness 自动更新怎么开?dsh 本体自动更新与插件升级提醒的做法
DeepSeek Harness 本体没有自动更新开关:最省事是用 npx 启动(每次按最新解析),全局安装则用系统计划任务定时跑 npm install -g @latest;插件侧另有启动时检查更新与可更新徽标。
393 1
DeepSeek Harness 自动更新怎么开?dsh 本体自动更新与插件升级提醒的做法
|
28天前
|
索引 Python
1. Python 字符串切片详解:字符串截取原理与使用
Python字符串支持索引与切片操作:正向索引从0开始,负向索引从-1起;用`str[i]`获取单字符,`str[start:end:step]`截取子串,各参数均可省略,默认步长为1。
|
28天前
|
Python
一文掌握 Python 字符串对齐:ljust () rjust () center () 用法
Python字符串提供三种对齐方法:ljust()实现左对齐(右补字符)、rjust()实现右对齐(左补字符)、center()实现居中对齐(两侧补字符),均支持自定义填充字符,默认为空格,参数width指定总宽度。
|
28天前
|
程序员 Python
Python 面向对象:class 类的定义与入门使用
本节讲解Python类的定义:使用`class`关键字,类名首字母大写;类由类头和缩进统一的类体(属性/方法)构成;支持文档字符串、空类(`pass`);区分类属性与实例属性,`self`为实例方法首个参数。
|
28天前
|
程序员 Python
1. 一文看懂 Python 面向对象:什么是对象与一切皆对象
本节详解Python“一切皆对象”的内涵:以乌龟为例,阐释类、对象、属性、方法等OOP核心概念;说明OOP是比函数/数据封装更高级的抽象方式,能更真实模拟现实世界;并揭示Python中int、str、dict等内置类型本质都是对象。(239字)
|
23天前
|
人工智能 定位技术
被骂不务正业的00后大学生,靠AI把游戏故事做成短剧,月入5万还开了公司
大四学生用AI将游戏真实故事改编成爆款短剧,月入5-6万,两年半累计60万。核心并非AI工具,而是五年游戏经验带来的玩家洞察力——把“不务正业”的热爱,变成官方激励下的可持续变现。一人公司本质是“判断力驱动,AI放大”。
|
28天前
|
Python
1. Python 基础语法:pass 占位语句功能说明
本文介绍Python中`pass`空语句的用途:当代码逻辑需占位但暂不执行时,`pass`比`#TODO`注释更专业、更优雅。它明确表示“此处有意留空”,避免解释器报错,提升代码可读性与维护性。(239字)
|
28天前
|
人工智能 自然语言处理 IDE
开源 AI 编程智能体 OpenCode 实战:Claude Code 平替方案,环境搭建、模型对接、项目开发避坑指南
在AI编程Agent高速发展的2026年,很多开发者开始警惕闭源工具带来的厂商锁定、隐私泄露、访问受限等问题。OpenCode依靠MIT开源协议、模型中立架构、本地优先的数据策略,成为一款优秀的替代方案。它不仅仅是代码生成工具,而是一套完整可编程的开发智能体框架,支持终端、桌面、IDE多种形态,既可以对接云端大模型,也支持完全离线本地推理。
257 0
|
9月前
|
人工智能 搜索推荐 SEO
尹邦奇一句话讲清:什么内容最容易被AI选中?揭秘生成式搜索时代的GEO优化核心
本文解析生成式搜索(GEO)时代的内容新逻辑:AI不需情绪,只求确定性;观点比信息更关键。从定义清晰、结论先行、结构化表达到权威引用,揭示如何打造AI可读、可引、可信的“答案型内容”,抢占AI分发入口。(239字)