1.简介
前边的几篇文章已经大致地介绍了python的几种数据类型和各种类型之间的相互转换,接下来就拆分开将各种数据类型一一的进行详细的介绍,今天宏哥给小伙伴或者童鞋们介绍和讲解数字数据类型。
2.什么是数字(Number)类型
数字类型数据,顾名思义:就是与数字有关的数据类型,数字类型用于存储数学意义上的数值。
数字类型是不可变类型。这个在前边的文章中也有所介绍,这里简单的提及一下,所谓的不可变类型,指的是类型的值一旦有不同了,那么它就是一个全新的对象。数字1和2分别代表两个不同的对象,对变量重新赋值一个数字类型,会新建一个数字对象。
2.1变量与数据类型的关系
变量只是对某个对象的引用或者说代号、名字、调用等等,变量本身没有数据类型的概念。类似1,2, 3, 4,"haha"这一类对象才具有数据类型的概念。
1.以下实例在变量赋值时 Number 对象将被创建:
🧮示例代码:
python
# -*- coding:utf-8 -*-
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-08-01
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)-整型(int)详解
'''
# 3.导入模块
var1 = 1
var2 = 10
2.也可以使用del语句删除一些数字对象的引用,使用del语句语法如下:
python
del var1[,var2[,var3[....,varN]]]
3.可以通过使用del语句删除单个或多个对象的引用,例如:
python
del var #删除单个对象引用
del var_a, var_b #删除多个对象引用
注:数据类型是不允许改变的,这就意味着如果改变数字数据类型的值,将重新分配内存空间。
🧮示例代码:
python
# -*- coding:utf-8 -*-
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-08-01
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)-整型(int)详解
'''
# 3.导入模块
a = 10 # 创建数字对象10。
a = 20 # 创建数字对象20,并将20赋值给变量a,a不再指向数字对象10
以上代码中,发生了变化的是变量a的指向,而不是数字对象1变成了数字对象2。初学者可能会比较迷糊,但不要紧,我们要试着理解去明白它。如下图所示:

3.数字类型分类
Python中有四种基本的数字类型:int、float、bool和complex。有的初学者、小伙伴或者童鞋们以及很多网上教程很容易忽略的一点就是bool也是数字类型,这在很多面试题中也可能会被问到或者涉及。为了大家能够清晰地、一目了然的看到数字类型的分类,宏哥画了一个思维导图,如下图所示:

3.1每种类型用途和特点
Python中有四种基本的数字类型:int、float、bool和complex。每种类型都有其特定的用途和特点。
🔢 整型(int):整型用于表示正整数、负整数和0。它的取值范围是无限的,可以表示任意大小的整数。
📊 浮点型(float):浮点型用于表示带有小数点的数值。它的取值范围也是无限的,可以表示非常大的浮点数。
🔄 布尔型(bool):布尔型用于表示真(True)或假(False)两种状态。它常用于逻辑运算和控制语句。布尔型是整型的子类,True相当于1,False相当于0。
🌐 复数型(complex):复数型由实部和虚部组成,可以用a + bj的形式表示,其中a为实部,b为虚部。在Python中,可以使用complex函数创建一个复数,例如:a = complex(66, 88)。
要区分这些数据类型,可以使用type函数和isinstance函数。type函数用于获取某个变量的数据类型,而isinstance函数用于判断某个变量是否为某个数据类型的实例(包括父类实例和子类实例)。
通过这些数据类型,Python提供了丰富的数据处理能力,无论是整数计算、浮点数运算还是布尔逻辑,Python都能轻松应对。
3.2数字类型实例
整型、浮点型和复数型的实例如下表所示:
int | float | complex |
---|---|---|
10 | 0.0 | 3.14j |
100 | 15.20 | 45.j |
-786 | -21.9 | 9.322e-36j |
080 | 32.3e+18 | .876j |
-0490 | -90. | -.6545+0J |
-0x260 | -32.54e100 | 3e+26J |
0x69 | 70.2E-12 | 4.53e-7j |
Python 还支持复数,复数由实数部分和虚数部分构成,可以用 a + bj,或者 complex(a,b) 表示, 复数的实部 a 和虚部 b 都是浮点型。
4.整型
整型(int) - 通常被称为是整型或整数,是正或负整数,不带小数点。整数类型用于表示没有小数部分的数值。Python 3中的整数可以是正数、负数或零。例如:42、-100和0都是整数。Python3 整型是没有限制大小的,可以当作 Long 类型使用,所以 Python3 没有 Python2 的 Long 类型。布尔(bool)是整型的子类型。
在Python编程语言中,整数类型(int)是一种基础且常用的数据类型,用于表示整数值。整数可以进行各种数学运算,如加、减、乘和除。
表示数字的时候,有时我们还会用八进制或十六进制来表示整数:
(1)十六进制用0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2。
(2)八进制用0o前缀和0-7表示,例如:0o12。
🧮示例代码:
python
# -*- coding:utf-8 -*-
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-08-01
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)-整型(int)详解
'''
# 3.导入模块
a = 0xA0F # 十六进制
b = 0o37 # 八进制
print(type(a),type(b))
print(a,b)
🔍运行结果:

4.1整型定义和特点
整型是Python的一种数据类型,用来表示整数值
,没有大小限制
。
一旦创建,整型对象的值
不能被修改。
例如:以下内容中,尝试修改X的值,实际上是创建了另一个新的整型对象,这说明整型对象的值是不可变的,一旦创建后就无法直接修改原来的整型对象了。
🧮示例代码:
python
# -*- coding:utf-8 -*-
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-08-01
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)-整型(int)详解
'''
# 3.导入模块
x = 10 # 创建一个整型对象,值为10
print(x) # 输出: 10
x = x + 5 # 对整型对象进行加法运算,并将结果赋值给变量x
print(x) # 输出: 15
# 尝试修改整型对象的值,将会创建一个新的整型对象
x = 20
print(x) # 输出: 20
🔍运行结果:

4.2整型的创建和赋值
4.2.1直接使用数字字面量
在Python中,可以直接使用数字字面量来创建整型对象,并将其赋值给一个变量。例如:
🧮示例代码:
python
# -*- coding:utf-8 -*-
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-08-01
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)详解
'''
# 3.导入模块
a = 5
b = 10
c = -2
print(type(a),type(b),type(c))
🔍运行结果:

4.2.2使用赋值语句
在Python中,可以使用赋值语句将一个整型对象的值赋给另一个变量。例如:
🧮示例代码:
python
# -*- coding:utf-8 -*-
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-08-01
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)-整型(int)详解
'''
# 3.导入模块
# 创建一个整型对象,值为10,将其赋值给变量x
x=10
# 将变量x的值赋值给变量y, 此时变量y也引用了同一个整型对象
y=x
print(type(y),y)
🔍运行结果:

4.2.3进行运算
在python中,可以通过进行算数运算来创建和赋值类型对象。例如:
🧮示例代码:
python
# -*- coding:utf-8 -*-
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-08-01
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)-整型(int)详解
'''
# 3.导入模块
# 通过加法运算,创建一个新的整型对象,其值为8,并将其赋值给变量x
x = 5 + 3
# 减法
y = 10 - 8
# 乘法
z = 2 * 3
# 除法
q = 8 / 2
print(type(x),type(y),type(z),type(q))
print(x,y,z,q)
🔍运行结果:

4.2.4使用int()函数
除了直接赋值外,可以使用int()
函数将其他数据类型转换为整型。需要注意的是,int()
函数在处理浮点数时会截断小数部分,而在处理字符串时,字符串必须是可解析的整数形式,否则会引发错误。
🧮示例代码:
python
# -*- coding:utf-8 -*-
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-08-01
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)-整型(int)详解
'''
# 3.导入模块
a = int(3.7) # 转换浮点数为整型,结果为3
b = int('15') # 转换字符串为整型,结果为15
print(a,b)
🔍运行结果:

4.3整型运算
整数支持基本的数学运算,在Python中支持多种整数运算符,包括加、减、乘和除等等。
4.3.1加法
使用加法运算符 +
可以将两个整型对象相加,得到它们的和。
🧮示例代码:
python
# -*- coding:utf-8 -*-
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-08-01
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)-整型(int)详解
'''
# 3.导入模块
x = 2 + 3
print(type(x),x) # 输出:<class 'int'> 5
🔍运行结果:

4.3.2减法
使用减法运算符-
可以将一个整型对象减去另一个整型对象,得到它们的差值。
🧮示例代码:
python
# -*- coding:utf-8 -*-
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-08-01
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project:Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)-整型(int)详解
'''
# 3.导入模块
x = 8 - 6
print(type(x),x) # 输出:<class 'int'> 2
🔍运行结果:

4.3.3乘法
使用乘法运算符 *
可以将两个整型对象相乘,得到它们的乘积。
🧮示例代码:
python
# -*- coding:utf-8 -*-
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-08-01
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)-整型(int)详解
'''
# 3.导入模块
x = 8 * 6
print(type(x),x) # 输出:<class 'int'> 48
🔍运行结果:

4.3.4除法(浮点除法)
使用除法运算符 /
可以将一个整型对象除以另一个整型对象,得到它们的浮点数商。
🧮示例代码:
python
# -*- coding:utf-8 -*-
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-08-01
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)-整型(int)详解
'''
# 3.导入模块
x = 10 / 6
print(type(x),x) # 输出:<class 'int'> 1.6666666666666667
🔍运行结果:

4.3.5整数除法
使用双斜杠运算符 //
, 可以执行整数除法,得到两个整型对象的整数商。
🧮示例代码:
python
# -*- coding:utf-8 -*-
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-08-01
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)详解
'''
# 3.导入模块
x = 10 // 6
print(type(x),x) # 输出:<class 'int'> 1
🔍运行结果:

新手常踩雷 :整数除法和小数(浮点)除法别混了,3/2
输出1.5,小数;3//2
输出1,取整。宏哥好奇啊,除法就是除法,为啥有的叫它浮点除法呢?看以下示例就知道了。
🧮示例代码:
python
# -*- coding:utf-8 -*-
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-08-01
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)-整型(int)详解
'''
# 3.导入模块
x = 10 / 2
print(type(x),x) # 输出:<class 'int'> 5.0
🔍运行结果:

从上边的代码中,我们可以清楚地看出来,虽然可以除整,但是结果还是浮点型的数据,因此宏哥觉得单线杠叫它浮点除法比较准确。
4.3.6取模运算
使用取模运算符 %
, 可以计算两个整型对象相除后的余数。
🧮示例代码:
python
# -*- coding:utf-8 -*-
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-08-01
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)-整型(int)详解
'''
# 3.导入模块
x = 10 % 6
print(type(x),x) # 输出:<class 'int'> 4
🔍运行结果:

4.3.7幂运算
Python中可以使用运算符**进行幂运算。
🧮示例代码:
python
# -*- coding:utf-8 -*-
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-08-01
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)-整型(int)详解
'''
# 3.导入模块
x = 10
y = 3
power = x ** y # 幂运算,结果为1000
print(power)
🔍运行结果:

4.3.8身份运算(is&is not)
1.身份运算(is)
is用于判断左右两个对象的内存地址是否相同,如果相同返回True,不同返回False。举个例子,请看下面的代码:
🧮示例代码:
python
# -*- coding:utf-8 -*-
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-08-01
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)-整型(int)详解
'''
# 3.导入模块
a = 1
b = 1
print(id(a)) # 内存地址:140734203683664
print(id(b)) # 内存地址:140734203683664
print(a is b) # True
🔍运行结果:

a和b都是整型1,因为整型是不可变的数据类型,所以两个相同的整型数据一定取自同一个地方。我们可以使用id函数来查看python中任意对象的内存地址,使用id函数后我们发现a和b的内存地址确实是相同的。a和b所代表的整型数据1取自内存中的同一个地方,所以a is b返回True。这个我们可以清楚地从上边的代码的运行结果看出来。
🧮示例代码:
python
# -*- coding:utf-8 -*-
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-08-01
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)-整型(int)详解
'''
# 3.导入模块
a = 1
b = 2
print(id(a)) # 内存地址:140734353498960
print(id(b)) # 内存地址:140734353498992
print(a is b) # False
🔍运行结果:

a是整型1,b是整型2。因为整型数据1和2存放在内存中不同的地方,所以a is b返回False。这个我们可以清楚地从上边的代码的运行结果看出来。
2.身份运算(is not)
is not用于判断左右两个对象的内存地址是否不同,如果不同返回True,相同返回False。刚好与is相反。举个例子,请看下面的代码:
🧮示例代码:
python
# -*- coding:utf-8 -*-
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-08-01
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)-整型(int)详解
'''
# 3.导入模块
a = 1
b = 2
print(id(a)) # 内存地址:140734353498960
print(id(b)) # 内存地址:140734353498992
print(a is not b) # True
🔍运行结果:

a是整型1,b是整型2。因为整型数据1和2存放在内存中不同的地方,所以a is not b返回True。这个我们可以清楚地从上边的代码的运行结果看出来。
🧮示例代码:
python
# -*- coding:utf-8 -*-
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-08-01
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)-整型(int)详解
'''
# 3.导入模块
a = 1
b = 1
print(id(a)) # 内存地址:140734353498960
print(id(b)) # 内存地址:140734353498960
print(a is not b) # False
🔍运行结果:

a和b都是整型1,a和b所代表的整型数据1取自内存中的同一个地方,所以a is not b返回False。这个我们可以清楚地从上边的代码的运行结果看出来。
4.4整型方法
Python还提供了许多内置方法来操作整数类型的值。以下是一些示例。
4.4.1abs()
abs()
函数用于获取一个整数的绝对值。
4.4.2pow()
pow()
函数用于计算幂值,等价于运算符:**。
4.4.3round()
round()
函数用于四舍五入计算。
🧮示例代码:
python
# -*- coding:utf-8 -*-
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-08-01
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)-整型(int)详解
'''
# 3.导入模块
a = abs(-5) # 绝对值
b = pow(2, 3) # 幂运算
c = round(5.5) # 四舍五入
print(type(a),type(b),type(c))
print(a,b,c)
🔍运行结果:

4.4.4max() 和 min()
max()
和min()
函数用于获取多个数中的最大值和最小值。
🧮示例代码:
python
# -*- coding:utf-8 -*-
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-08-01
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)-整型(int)详解
'''
# 3.导入模块
maximum = max(5, 10, 15) # 结果为15
minimum = min(5, 10, 15) # 结果为5
print(maximum,minimum)
🔍运行结果:

4.5转换整数类型
可以使用内置函数int()将其他数据类型转换为整型。 int()函数接受一个参数,并尝试将其转换为整数类型。
数据类型之间的相互转换,前边已经详细介绍和讲解了,今天这里就简单的提一下。有时您可能需要将整数转换为其他类型的值。以下是Python中一些常用的整数类型转换方法。
🧮示例代码:
python
# -*- coding:utf-8 -*-
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-08-01
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)-整型(int)详解
'''
# 3.导入模块
a = int("10") # 将字符串转换为整数
b = float(5) # 将整数转换为浮点数
c = str(10) # 将整数转换为字符串
print(type(a),type(b),type(c))
print(a,b,c)
🔍运行结果:

4.6整数的进制表示
在python中,整型可以使用的不同进制表示形式,包括十进制、二进制、八进制和十六进制。、二进制、八进制和十六进制打印的时候会自动默认转换成十进制。
4.6.1十进制
默认情况下,Python中的整数是以十进制形式表示的。
🧮示例代码:
python
# -*- coding:utf-8 -*-
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-08-01
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)-整型(int)详解
'''
# 3.导入模块
num_decimal = 10
print(type(num_decimal),num_decimal) # 输出:<class 'int'> 10
🔍运行结果:

4.6.2二进制
在python中,可以通过在数字前面添加0b
或0B
前缀来表示二进制数。
🧮示例代码:
python
# -*- coding:utf-8 -*-
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-08-01
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)-整型(int)详解
'''
# 3.导入模块
num_binary = 0B1010
print(type(num_binary),num_binary) # 输出:<class 'int'> 10
🔍运行结果:

4.6.3八进制
在python中,可以通过在数字前面添加 0O
或0o
前缀表示八进制数。
🧮示例代码:
python
# -*- coding:utf-8 -*-
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-08-01
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)-整型(int)详解
'''
# 3.导入模块
num_octal = 0o12
print(type(num_octal),num_octal) # 输出:<class 'int'> 10
🔍运行结果:

4.6.4十六进制
在python中,可以通过在数字前面添加 0x
或0X
前缀来表示十六进制数。
🧮示例代码:
python
# -*- coding:utf-8 -*-
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-08-01
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)-整型(int)详解
'''
# 3.导入模块
num_hex = 0xA
print(type(num_hex),num_hex) # 输出:<class 'int'> 10
🔍运行结果:

4.6.5不同进制之间转换
🧮示例代码:
python
# -*- coding:utf-8 -*-
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-08-01
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)-整型(int)详解
'''
# 3.导入模块
num = 10
print(bin(num)) # 输出:0b1010,将十进制转换为二进制
print(oct(num)) # 输出:0o12,将十进制转换为八进制
print(hex(num)) # 输出:0xa,将十进制转换为十六进制
🔍运行结果:

4.7整型的动态类型和无限长度
4.7.1动态类型
Python是一种动态类型语言,这意味着变量的类型是由运行时决定的,而不是在编译时。因此,整型变量可以在运行时被重新分配为其他数据类型。
🧮示例代码:
python
# -*- coding:utf-8 -*-
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-08-01
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project:Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)-整型(int)详解
'''
# 3.导入模块
f = 42
f = "Hello"
在上面的例子中,变量f
最初是一个整型,但随后被重新分配为字符串类型。这种灵活性是Python语言的一个显著特征。
4.7.2无限长度
与某些编程语言不同,Python的整型没有长度限制。理论上,只要计算机的内存允许,Python的整型可以表示任意大的整数。
🧮示例代码:
python
# -*- coding:utf-8 -*-
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-08-01
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)-整型(int)详解
'''
# 3.导入模块
a = 1234567890123456789012345678901234567890
这一特性使得Python在处理大数计算时非常方便。
5.整型的应用场景
整型在编程中有着广泛的应用,从简单的计数器到复杂的算法实现。
5.1计数器
在循环中,整型常用作计数器。
🧮示例代码:
python
# -*- coding:utf-8 -*-
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-08-01
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)-整型(int)详解
'''
# 3.导入模块
for i in range(5):
print(i)
🔍运行结果:

5.2数学计算
整型用于实现各种数学算法,如素数检测、最大公约数计算等。
🧮示例代码:
python
# -*- coding:utf-8 -*-
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-08-01
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)-整型(int)详解
'''
# 3.导入模块
#该函数用于判断一个整数 n 是否为质数(素数)。
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n * 0.5) + 1):
if n % i == 0:
return False
return True
print(is_prime(2)) #2的特殊性:作为唯一偶素数,其余素数均为奇数。
🔍运行结果:

5.3数据存储
整型常用作数据结构的索引或标识符。
🧮示例代码:
python
# -*- coding:utf-8 -*-
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-08-01
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)详解
'''
# 3.导入模块
data = [10, 20, 30]
print(data[1]) # 访问第二个元素,结果为20
🔍运行结果:

6.整型注意事项
6.1类型转换
在进行整型运算时,可能需要在整型和其他数据类型之间进行转换。需要谨慎处理,确保不会因为数据类型不匹配而导致错误。
6.2溢出问题
虽然Python的整型不受长度限制,但在某些情况下(如与硬件交互)可能会遇到溢出问题,需要特别注意。
6.3性能考虑
Python的整型在处理大数时性能可能不如其他语言(如C或Java),在需要高性能的应用中,可能需要通过算法优化或使用C扩展库来提高效率。
7.拓展
Python的整数长度为32位,并且通常是连续分配内存空间的。
7.1空间地址
空间地址(address space)表示任何一个计算机实体所占用的内存大小。比如外设、文件、服务器或者一个网络计算机。地址空间包括物理空间以及虚拟空间。
🧮示例代码:
python
# -*- coding:utf-8 -*-
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-08-01
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)-整型(int)详解
'''
# 3.导入模块
print(id(-2))
print(id(-1))
print(id(0))
print(id(1))
print(id(2))
🔍运行结果:

从上面的空间地址看,地址之间正好差32。为什么会这样?
因为 Python的整数长度为32位,并且通常是连续分配内存空间的。 Python在初始化环境的时候就在内存里自动划分了一块空间,专门用于整数对象的存取。当然,这块空间也不是无限大小的,能保存的整数是有限的,所以你会看到id(0)和id(10000)之间的地址差别很大。
🧮示例代码:
python
# -*- coding:utf-8 -*-
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-08-01
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)-整型(int)详解
'''
# 3.导入模块
print(id(0))
print(id(10000))
🔍运行结果:

7.2小整数对象池
Python初始化的时候会自动建立一个小整数对象池,方便我们调用,避免后期重复生成!
这是一个包含262个指向整数对象的指针数组,范围是-5到256。也就是说比如整数10,即使我们在程序里没有创建它,其实在Python后台已经悄悄为我们创建了。
7.3验证小整数对象池的存在
在程序运行时,包括Python后台自己的运行环境中,会频繁使用这一范围内的整数,如果每需要一个,你就创建一个,那么无疑会增加很多开销。创建一个一直存在,永不销毁,随用随拿的小整数对象池,无疑是个比较实惠的做法。
🧮示例代码:
python
# -*- coding:utf-8 -*-
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-08-01
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)-整型(int)详解
'''
# 3.导入模块
print(id(-6))
print(id(-5))
print(id(-4))
print(id(255))
print(id(256))
print(id(257))
🔍运行结果:

从id(-6)和id(257)的地址,我们能看出小整数对象池的范围,正好是-5到256。
7.4整数缓冲区
除了小整数对象池,Python还有整数缓冲区的概念,也就是刚被删除的整数,不会被真正立刻删除回收,而是在后台缓冲一段时间,等待下一次的可能调用。
🧮示例代码:
python
# -*- coding:utf-8 -*-
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-08-01
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)-整型(int)详解
'''
# 3.导入模块
a = 1000000
print(id(a))
del a # 删除变量a
b = 1000000
print(id(b))
🔍运行结果:

给变量a赋值了整数1000000,看了一下它的内存地址。然后我把a删了,又创建个新变量b,依然赋值为1000000,再次看下b的内存地址,和以前a存在的是一样的。
del
是Python的删除关键字,可以删除变量、函数、类等等。
这一段拓展内容,可能感觉没什么大用,但它对于理解Python的运行机制有很大帮助。
7.5数组分隔符
数字分隔符,在 Python 中使用下划线_
作为数字的分隔符。通常从右往左数每三个数字添加一个数字分隔符,而不会影响数字本身的值。数字分隔符可以提高数字的可读性。
🧮示例代码:
python
# -*- coding:utf-8 -*-
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-08-01
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)-整型(int)详解
'''
# 3.导入模块
num = 45252465765747 # 我闭着眼胡乱敲出了一个数,哈哈
num1 = 45_252_465_765_747 # 给加上数字分隔符
print('num = ', num)
print('num1 = ', num1)
🔍运行结果:

8.整型不能和字符串拼接
整数和字符串之间不能进行拼接,否则会报错!!!。这是本节的重点,初学者容易在这里出错!!!
🧮示例代码(错误):
python
# -*- coding:utf-8 -*-
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-08-01
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)-整型(int)详解
'''
# 3.导入模块
print(7个宏哥)
🔍运行结果:

运行程序后提示invalid syntax
即无效语法。7是整数,可以不加引号;宏哥
是字符,前后必须使用引号。
🧮示例代码(错误):
python
# -*- coding:utf-8 -*-
# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-08-01
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)-整型(int)详解
'''
# 3.导入模块
#新建一个变量,存储数字7
#number是变量名,数据类型是整数
number = 7
#新建一个变量,存储字符串"宏哥"
#str_1是变量名,数据类型是字符串
str_1 = "宏哥"
print(number + str_1)
🔍运行结果:

9.随堂练习
【练习1】请问以下三个数据"2025年"
、2025
、"2025"
的数据类型分别是什么?
【答案解析】
"2025年"
、"2025"
前后有引号,数据类型为字符串;2025
前后没有引号,数据类型为整数。
【练习2】 345的二进制、八进制、十六进制。
【练习3】二进制111、八进制111、十六进制111的十进制。
【答案解析】

10.小结
在Python中,整型是一种灵活而强大的数据类型,适用于多种编程场景。通过理解整型的定义方式、运算规则和应用场景,开发者可以更有效地利用Python进行编程。同时,注意整型操作中的常见问题,可以提高代码的健壮性和性能。
10.1相关问题答疑
1.如何在Python中定义整型变量?
在Python中,可以通过简单的赋值操作来定义整型变量。例如,使用a = 10
将变量a
定义为整型10。Python会自动识别数据类型,无需显式声明类型。
2.Python整型的范围和特性是什么?
Python中的整型是没有固定范围的,取决于可用内存。与其他编程语言不同,Python的整型可以根据需要动态扩展。这意味着可以处理非常大的数字,而不必担心溢出。
3.如何在Python中将其他类型转换为整型?
可以使用int()
函数将其他数据类型转换为整型。例如,int("123")
会将字符串"123"转换为整型123。需要注意的是,如果字符串无法转换为有效的整型,将会抛出异常。在进行转换时,应确保输入的值是可以被解析为整型的。
10.2注意事项
虽然Python 的 int
无大小限制,但超出系统内存的数值会导致崩溃。
好了,今天时间也不早了,关于整型的知识和内容远远不止宏哥讲解和分享的这冰山一角,宏哥就讲解和分享了一些常用的基础知识,有兴趣的童鞋或者小伙伴可以自行查资料进行详尽的了解和学习,感谢您耐心的阅读,希望对您有所帮助。