🔥Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)-整型(int)详解

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中,可以通过在数字前面添加0b0B前缀来表示二进制数。

🧮示例代码:

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中,可以通过在数字前面添加 0O0o前缀表示八进制数。

🧮示例代码:

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中,可以通过在数字前面添加 0x0X前缀来表示十六进制数。

🧮示例代码:

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 无大小限制,但超出系统内存的数值会导致崩溃。

好了,今天时间也不早了,关于整型的知识和内容远远不止宏哥讲解和分享的这冰山一角,宏哥就讲解和分享了一些常用的基础知识,有兴趣的童鞋或者小伙伴可以自行查资料进行详尽的了解和学习,感谢您耐心的阅读,希望对您有所帮助。

相关推荐
用户47949283569153 分钟前
面试官:为什么很多格式化工具都会在行尾额外空出一行
前端
知识分享小能手4 分钟前
Vue3 学习教程,从入门到精通,Vue3 中使用 Axios 进行 Ajax 请求的语法知识点与案例代码(23)
前端·javascript·vue.js·学习·ajax·vue·vue3
一大树4 分钟前
首屏白屏的处理方案~嗖得一下
前端
凹凸曼说我是怪兽y4 分钟前
python后端之DRF框架(上篇)
开发语言·后端·python
小old弟5 分钟前
🤔同时发送100个请求?!手撕,并发请求⌨️
前端
533_10 分钟前
[echarts] 更新数据
前端·javascript·echarts
excel10 分钟前
理解 JavaScript 中的迭代器协议与中断行为:for...of vs for...in
前端
_iop9911 分钟前
pandas实战1:淘宝用户行为分析
python
幻雨様13 分钟前
UE5多人MOBA+GAS 番外篇:同时造成多种类型伤害,以各种属性值的百分比来应用伤害(版本二)
java·前端·ue5
l1t13 分钟前
修改DeepSeek翻译得不对的V语言字符串文本排序程序
c语言·开发语言·python·v语言