Python基础教程

第一章: 环境搭建,安装Python

第二章: 挑选一款趁手的IDE

第三章: 计算机基础知识

第四章: 命令行基础知识

第五章: 从全局把握Python

第六章: Python语言基础

第七章: Python流程控制

第八章: Python数据类型与运算

第九章: Python字符串类型

第十章: Python列表类型

第十一章: Python元组类型

第十二章: Python字典类型

第十三章: Python集合类型

第十四章: Python函数处理

第十五章: Python文件处理

第十六章: Python面向对象

第十七章: Python异常处理

第十八章: Python模块处理

第十九章: Python高级编程

第二十章: Python项目实战

首页 > Python基础教程 > 第八章: Python数据类型与运算 > 8.3节: 数据类型转换

8.3节: 数据类型转换

薯条老师 2020-04-26 13:38:15 236044 0

编辑 收藏

8.3.1 理解数据类型转换

数据类型转换,顾名思义,是从一种数据类型转换为另一种数据类型。常说的"取整",就暗含类型转换的意思,即,将浮点小数转换为整数。image.png
我们在日常生活中,也常于各类角色之间进行转换,在企业中是老板或职员,在家中是丈夫或妻子,对陌生人彬彬有礼,对相熟的人则暴露各种坏脾气,这也是一种类型转换。 类型转换可谓无时不存,无处不在。
需对生活抱持美好的期待,虽然它充满着波折和磨难,勿需遗忘你本来的样子,要成为你想变成的样子

8.3.2 显式类型转换

从字面意思来进行理解,显式类型转换,是显式地从一种数据类型转换为另一种数据类型。在Python中通过类型名+()的语法来实现显式类型转换。
代码实例-将小数取整:

# 据说单身狗荷包里会有11块1毛1分钱, 还经常舍不得花
money = 11.11
money = int(money)
# 据说有对象的人,从相识到结婚,平均会花费¥201314元
money = -201314
money = float(money)

代码讲解:

(1) 在代码实例中定义了一个浮点类型的变量money,然后通过int(money)的形式将浮点类型显式地转换为整型。
(1) 将整型转换为浮点类型时,数字后面会多了一个小数点。例如将201314转换为浮点类型,则转换后的值为201314.0
代码实例-字符串类型与数值类型之间的转换:

# 1.字符串类型转换为数值类型
number = "  201314"
# 转换为十进制整数,base表示转换的基数
number = int(number, base=10)
number = "  1010"
# 转换为十进制整数,base表示转换的基数
number = int(number, base=2)
# 转换为浮点类型
number = "  201314"
number = float(number)
# 2.数值类型转换为字符串类型
number = str(number)

代码讲解:

(1) 将字符串类型转换为数值类型时,直接通过int()或float()将字符串类型显式转换为数值类型

(2) 对于整数,可以在int()的显式转换中,通过参数base来指定转换的基数,字符串中的数字表示十进制时,传递的参数为10。

  字符串中的数字表示二进制时,传递的参数为2。字符串中的数字表示十六进制时,传递的参数为16。

(3) 通过str()将数值类型转换为字符串类型

将字符串类型转换为数值类型时,字符串中的字符必须是连续的合法的数(十进制数,二进制数,十六进制数等)。

字符串首部和尾部可以存在连续的空白字符(换行符,回车符,空格符等),不能出现在中间位置。

代码实例-字符串非法转换:

"""
@author: 大神薯条老师
@desc: 字符串非法转换
"""
 
number = "  -20  "
# 类型转换成功
number = int(number)
 
number = "  -ABC  "
# 类型转换成功,ABC为16进制
number = int(number, base=16)
 
number = "20.1314    748"
# 转换为浮点型时抛出了异常,因为空白字符只能出现在首尾
number = int(number)
 
number = "20.1314  \n"
# 类型转换成功
number = float(number)
 
# 转换为整型时抛出异常,因为字符.对整数来说是非法的字符
number = int(number)

代码讲解:

(1) 将字符串"20.1314    748"转换为浮点型时失败,因为空白字符只能出现在首尾

(2) 字符串"20.1314  \n"无法转换为整型,因为字符串中的.号对整型来说是非法的字符

8.3.3 隐式类型转换

在使用数值类型进行数值运算时,范围小的数据类型会自动转换为范围大的数据类型。Python中的数值类型:
布尔类型,整型,浮点类型
将其按表示的范围大小进行排序为:
布尔类型 < 整型 < 浮点类型

代码实例-数值类型的隐式转换:

"""
@author: 大神薯条老师
@desc: 数值类型的隐式转换
"""
 
# True即整型值为1,False即整型值为0
value = 1+ True
# value的值为2
 
 
# True转换后的浮点值为1.0,False转换后的浮点值为0.0
value = 1.0 + True
# value的值为2.0
 
# 范围小的数据类型自动转换为范围更大的数据类型
value = 1+1.0+ True
# value的值为3.0

代码讲解:

(1) 范围小的数据类型自动转换为范围大的数据类型

(2) 在表达式1+1.0+True中,先计算1+1.0, 1是整型,1.0是浮点类型, 整型1自动转换为浮点类型1.0,1+1.0的结果为2.0。

2.0+True等价于2.0+1, 式子中的1隐式转换为1.0,最终结果为3.0

8.3.4 其它类型与布尔类型的转换

每一种数据类型都有其对应的假值,凡是表示假值的转换后的布尔类型都为False。整型中的假值是0,浮点类型的假值是0.0,字符串的假值是空字符串,None类型表示空类型,空类型转换后的布尔类型为False。

8.3.5 薯条老师小班培训

薯条老师在广州有开设线下培训班,小班授课模式,一班最多6个人。也可一对一授课,全程帮助你学好计算机,实现高薪就业。不在广州的同学可提供住宿,也可以报名线上小班,用腾讯会议上直播课。

(1) Python后端工程师高薪就业班,月薪11K-18K,免费领取课程大纲
(2) Python中高级爬虫逆向工程师就业班,月薪15K-25K,包拿Offer
(3) Python数据分析+商业分析+数据科学就业班,企业级项目实战,月薪10K-20K
(4) Python量化交易就业班,A股+期货+数字货币量化,月薪10K-40K
(5) Python机器学习+深度学习算法工程师,月薪20-50K

跟薯条老师学习的学生有拿到花生日记,林氏家居,南方电网,京东, 阿里等公司的offer, 学生的最低薪资有6K,最高薪资有18K, 平均就业薪资有11000。

扫码咨询薯条老师:

扫码领学习资料.jpg


欢迎 发表评论: