当前位置: 首页 > news >正文

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

1.简介

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

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

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

2.什么是数据类型转换

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

3.数据类型转换分类

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

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

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

3.1隐式类型转换(自动)

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

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

示例代码:

# -*- coding:utf-8 -*-# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-06-06
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程3-数据类型
'''# 3.导入模块
'''
在和数字运算时,True转为1,False转为0
'''
a=10
b=True
print(a+b)

运行结果:

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

示例代码:

# -*- coding:utf-8 -*-# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-06-06
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程3-数据类型
'''# 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

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

示例代码:

# -*- coding:utf-8 -*-# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-06-06
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程3-数据类型
'''# 3.导入模块
a='123bcd'
print(a,type(a))
res=list(a)
print(res, type(res))

运行结果:

3.3.2tuple-> list

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

示例代码:

# -*- coding:utf-8 -*-# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-06-06
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程3-数据类型
'''# 3.导入模块
a=(1,2,3)
print(a,type(a))
res=list(a)
print(res, type(res))

运行结果:

3.3.3dict -> list

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

示例代码:

# -*- coding:utf-8 -*-# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-06-06
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程3-数据类型
'''# 3.导入模块
a={'name': 'Alice', 'Age': 5, 'Sex': 'Female'}
print(a,type(a))
res=list(a)
print(res, type(res))

运行结果:

3.3.4set-> list

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

示例代码:

# -*- coding:utf-8 -*-# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-06-06
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程3-数据类型
'''# 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

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

示例代码:

# -*- coding:utf-8 -*-# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-06-06
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程3-数据类型
'''# 3.导入模块
a='123bcd'
print(a,type(a))
res=tuple(a)
print(res, type(res))

运行结果:

3.4.2list -> tuple

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

示例代码:

# -*- coding:utf-8 -*-# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-06-06
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程3-数据类型
'''# 3.导入模块
a=[1,2,3]
print(a,type(a))
res=tuple(a)
print(res, type(res))

运行结果:

3.4.3dict -> tuple

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

示例代码:

# -*- coding:utf-8 -*-# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-06-06
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程3-数据类型
'''# 3.导入模块
a = {'name': 'Alice', 'Age': 5, 'Sex': 'Female'}
print(a,type(a))
res=tuple(a)
print(res, type(res))

运行结果:

3.4.4set -> tuple

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

示例代码:

# -*- coding:utf-8 -*-# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2025-06-06
@author: 北京-宏哥
北京宏哥(微信搜索:北京宏哥,关注宏哥,提前解锁更多测试干货!)
Project: Python零基础从入门到精通详细教程3-数据类型
'''# 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中的数据类型转换。好了,时间不早了今天就分享到这里,感谢你耐心地阅读!

http://www.jsqmd.com/news/59696/

相关文章:

  • EPC酒店装修公司推荐:国内优质服务商盘点
  • 国内发展比较快的AI公司有哪些?行业动态与企业速览
  • 办公室设计施工一体化公司推荐:打造高效办公空间
  • 上海AI投资公司推荐:聚焦智能科技领域的优质选择
  • KFCoder - 敏捷冲刺日志 - 7th
  • 国产值得投资的AI龙头公司有哪些?行业发展与企业解析
  • 资源刚性交付的核心矛盾是什么?解析 SAE 破解供需、隔离、弹性难题的逻辑
  • 初学者在漏洞悬赏中常犯的十大错误——教你如何避免!
  • 2025年上海无人值守停车系统公司权威推荐榜单:无人值守停车云坐席中心平台‌/无人值守云托管停车管理系统‌/无人值守机器人‌源头公司精选
  • MES看板启动命令
  • 肌肤发黄缺水用什么身体乳?2025身体乳品牌,专家测评+用户反馈双重认证
  • 工业CMOS相机的原理及基础知识 - 指南
  • 美股 (US) 与 墨西哥 (Mexico) 股票数据接口集成指南
  • 2025年行星球磨机工厂权威推荐榜单:振荡球磨仪/高能球磨机/低温行星式球磨仪设备源头厂家精选
  • 2025 年,哪些生成式 AI 平台对中国客户最友好?一文看清支持体系
  • 2025 年,谁才是领先的生成式 AI 平台?一文看清行业格局
  • 2025 年,中国企业最安全的生成式 AI 方案怎么选?安全能力全解析
  • 海外云服务器中哪家平台的稳定性和安全性最佳?|AWS Reliability Security Framework 深度解析
  • 第二阶段 测试流程.md
  • 一文拆解成功展会活动的策划指南!会展活动/展览策划/展览展会策划/合肥会展策划公司推荐
  • 哪些云平台最受开发者欢迎,且支持主流语言和框架?|AWS Developer Experience 全面解析
  • 2025年护栏栏杆源头厂家权威推荐榜单:小区护栏‌/市政护栏‌/桥梁护栏‌源头厂家精选
  • 哪些云平台适合全球业务部署与跨区域访问?|AWS Global Infrastructure 全景解析
  • 2025年AI搜索GEO优化公司推荐排行榜:哪家好?哪家靠谱?选哪家?Top 3 GEO 服务商
  • UML在软件设计中的应用与学习心得
  • 2025年杭州贴车衣门店服务权威推荐榜单:杭州tpu隐形车衣门店/杭州专业贴膜门店/杭州汽车膜门店深度解析
  • Java SpringBoot+微信小软件+MyBatis 自习室座位预约系统系统源码|前后端分离+MySQL数据库
  • CSS设置指定某个区域div出现滚动条、滚动框
  • C++进阶:(七)红黑树深度解析与 C++ 建立
  • 从单机到集群:2025精选军用目标侦察无人机软硬一体化供应商