🔥Python零基础从入门到精通详细教程5-数据类型的转换- 中篇

1.简介

上一篇文章,我们讲了Python的基本数据类型,包括:(数值(Numbers)、字符串(String)、列表(List)、元组(Tuple)、字典(Dictionary)和集合(Set)。

这么多数据类型,数据类型转换就成了一种常见操作,也就是将一种数据类型转变为另一种。由于Python是一种动态类型语言,可以在程序运行时更改变量的类型。有时,我们可能希望将一个数据类型的变量视为另一种数据类型,例如,将数字作为字符串处理,或将复杂的数据结构如列表或字典用作其他类型的容器。这就是数据类型转换的重要性所在。

有时候,我们需要对数据内置的类型进行转换,数据类型的转换,一般情况下你只需要将数据类型作为函数名即可。在Python编程的领域里,数据类型转换是一项极为基础且频繁使用的操作。对各种数据类型间转换方法的熟练掌握,能显著提升代码的灵活性与实用性,使开发者得以更高效地处理多样化的数据需求。接下来,本文将对Python中常见的数据类型转换进行全面且深入的分享和讲解。

2.什么是数据类型转换

数据类型转换(也称为类型强制转换或类型铸造)是指将一种数据类型的对象转换为另一种数据类型的过程。Python 提供了多种内置函数和方法来实现类型转换,以支持灵活的数据操作。类型转换在处理不同类型的数据(如用户输入、文件读取、数据处理等)时非常常见。

3.数据类型转换分类

Python 数据类型转换可以分为两种:

  • 隐式类型转换 - 自动完成
  • 显式类型转换 - 需要使用类型函数来转换

Python中的数据类型转换有两种,一种是自动类型转换,即Python在计算中会自动地将不同类型的数据转换为同类型数据来进行计算;另一种是强制类型转换,即需要我们基于不同的开发需求,强制地将一个数据类型转换为另一个数据类型。

3.1隐式类型转换(自动)

在隐式类型转换中,Python 会自动将一种数据类型转换为另一种数据类型,不需要我们去干预。

1.对两种不同类型的数据进行运算,较低数据类型(整数)就会转换为较高数据类型(浮点数)以避免数据丢失。当两个不同类型的数据进行运算时,结果会像更高精度进行计算,精度等级:布尔<整型<浮点型<算数。

✅示例代码:

python 复制代码
# -*- coding:utf-8 -*-

# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行

# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-06-16
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程5-数据类型的转换- 中篇
'''

# 3.导入模块
'''
在和数字运算时,True转为1,False转为0
'''
a=10
b=True
print(a+b)

✅ 运行结果:

2.我们再看一个实例,整型数据与字符串类型的数据进行相加。

✅示例代码:

python 复制代码
# -*- coding:utf-8 -*-

# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行

# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-06-16
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程5-数据类型的转换- 中篇
'''

# 3.导入模块
'''
在和数字运算时,True转为1,False转为0
'''
num_int = 123
num_str = "北京-宏哥"
print("num_int 数据类型为:",type(num_int))
print("num_str 数据类型为:",type(num_str))
print(num_int+num_str)

✅ 运行结果:

从输出中可以看出,整型和字符串类型运算结果会报错,输出 TypeError。 Python 在这种情况下无法使用隐式转换。

但是,Python 为这些类型的情况提供了一种解决方案,称为显式转换。

3.2显式类型转换(强制)

在显式类型转换中,用户将对象的数据类型转换为所需的数据类型。 我们使用 int()、float()、str() 等预定义函数来执行显式类型转换。

3.2.1强制类型转换函数

函数 说明
str( ) 可以把其他类型数据转化为字符串类型
int( ) 可以把其他类型数据转化为整型
float( ) 可以把其他类型数据转化为浮点型
bool( ) 可以把其他类型数据转化为布尔类型
list( ) 可以把其他类型数据转化为列表类型
tuple( ) 可以把其他类型数据转化为元组类型
dict( ) 可以把其他类型数据转化为字典类型
set( ) 可以把其他类型数据转化为集合类型

3.2.2内置转换函数

函数 描述
int(x [,base]) 将x转换为一个整数
float(x) 将x转换到一个浮点数
complex(real [,imag]) 创建一个复数
str(x) 将对象 x 转换为字符串
repr(x) 将对象 x 转换为表达式字符串
eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s) 将序列 s 转换为一个元组
list(s) 将序列 s 转换为一个列表
set(s) 转换为可变集合
dict(d) 创建一个字典。d 必须是一个 (key, value)元组序列。
frozenset(s) 转换为不可变集合
chr(x) 将一个整数转换为一个字符
ord(x) 将一个字符转换为它的整数值
hex(x) 将一个整数转换为一个十六进制字符串
oct(x) 将一个整数转换为一个八进制字符串

3.3其他类型 -> list

3.3.1str -> list

字符串转为列表时,会把字符串中的每一个字符当作列表的元素。

✅ 示例代码:

ini 复制代码
# -*- coding:utf-8 -*-

# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行

# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-06-16
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程5-数据类型的转换- 中篇

# 3.导入模块
a='123bcd'
print(a,type(a))
res=list(a)
print(res, type(res))

✅运行结果:

3.3.2tuple-> list

元组转为列表时,会把字符串中的每一个字符当作列表的元素。

✅示例代码:

python 复制代码
# -*- coding:utf-8 -*-

# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行

# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-06-16
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程5-数据类型的转换- 中篇
'''

# 3.导入模块
a=(1,2,3)
print(a,type(a))
res=list(a)
print(res, type(res))

✅运行结果:

3.3.3dict -> list

字典转为列表时,只保留字典的键。

✅示例代码:

python 复制代码
# -*- coding:utf-8 -*-

# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行

# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-06-16
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程5-数据类型的转换- 中篇
'''

# 3.导入模块
a={'name': 'Alice', 'Age': 5, 'Sex': 'Female'}
print(a,type(a))
res=list(a)
print(res, type(res))

✅运行结果:

3.3.4set-> list

集合转为列表时,结果是无序的。

✅示例代码:

python 复制代码
# -*- coding:utf-8 -*-

# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行

# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-06-16
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程5-数据类型的转换- 中篇
'''

# 3.导入模块
a={1,2,3,'b','c','d'}
print(a,type(a))
res=list(a)
print(res, type(res))

✅运行结果:

3.4其他类型 -> tuple

3.4.1str -> tuple

字符串转为元组时,会把字符串中的每一个字符当作元组的元素。

✅示例代码:

python 复制代码
# -*- coding:utf-8 -*-

# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行

# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-06-16
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程5-数据类型的转换- 中篇
'''

# 3.导入模块
a='123bcd'
print(a,type(a))
res=tuple(a)
print(res, type(res))

✅运行结果:

3.4.2list -> tuple

列表转为元组时,会把字符串中的每一个字符当作元组的元素。

✅示例代码:

python 复制代码
# -*- coding:utf-8 -*-

# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行

# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-06-16
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程5-数据类型的转换- 中篇
'''

# 3.导入模块
a=[1,2,3]
print(a,type(a))
res=tuple(a)
print(res, type(res))

✅运行结果:

3.4.3dict -> tuple

字典转为元组时,只保留字典的键。

✅ 示例代码:

python 复制代码
# -*- coding:utf-8 -*-

# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行

# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-06-16
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程5-数据类型的转换- 中篇
'''

# 3.导入模块
a = {'name': 'Alice', 'Age': 5, 'Sex': 'Female'}
print(a,type(a))
res=tuple(a)
print(res, type(res))

✅运行结果:

3.4.4set -> tuple

集合转为元组时,结果是无序的。

✅示例代码:

python 复制代码
# -*- coding:utf-8 -*-

# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行

# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-06-16
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程5-数据类型的转换- 中篇
'''

# 3.导入模块
a={1,2,3,'b','c','d'}
print(a,type(a))
res=tuple(a)
print(res, type(res))

✅运行结果:

4.小结

4.1总结(其他类型->list)

  • 数字类型不能转换成为列表
  • 字符串转为列表时,会把字符串中的每一个字符当作列表的元素。
  • 元组转为列表时,会把字符串中的每一个字符当作列表的元素。
  • 字典转为列表时,只保留字典的键。
  • 集合转为列表时,结果是无序的,因为集合本身就是无序的。

4.2总结(其他类型->tuple)

  • 数字类型不能转换成为元组。
  • 字符串转为元组时,会把字符串中的每一个字符当作元组的元素。
  • 列表转为元组时,会把字符串中的每一个字符当作元组的元素。
  • 字典转为元组时,只保留字典的键。
  • 集合转为元组时,结果是无序的,因为集合本身就是无序的。

希望这篇文章能帮助你更好地理解Python中的数据类型转换。好了,时间不早了今天就分享到这里,感谢你耐心地阅读!

相关推荐
anyup2 分钟前
10000+ 个点位轻松展示,使用 Leaflet 实现地图海量标记点聚类
前端·数据可视化·cursor
林太白4 分钟前
Rust认识安装
前端·后端·rust
掘金酱5 分钟前
🔥 稀土掘金 x Trae 夏日寻宝之旅火热进行ing:做任务赢大疆pocket3、Apple watch等丰富大礼
前端·后端·trae
1024小神5 分钟前
tauri项目添加多文件下载功能,并支持下载进度回调显示在前端页面上
前端·javascript
Ace_31750887766 分钟前
义乌购拍立淘API接入指南
前端
不想说话的麋鹿12 分钟前
《NestJS 实战:RBAC 系统管理模块开发 (四)》:用户绑定
前端·后端·全栈
我是谁谁25 分钟前
JavaScript 中的 Map、WeakMap、Set 详解
前端
laperter36 分钟前
vue3项目第三篇
前端
郭枫寅38 分钟前
第二课 Python 注释与规范格式
python
呆呆的心38 分钟前
深入剖析 JavaScript 数据类型与 Symbol 类型的独特魅力😃
前端·javascript·面试