Python从入门到高手5.3节-Python数据类型转换

打印 上一主题 下一主题

主题 343|帖子 343|积分 1029

 目次
5.3.1 理解数据类型转换
5.3.2 显式类型转换
5.3.3 隐式类型转换
5.3.4 别的类型与布尔类型的转换
5.3.5 国庆假期最后一天


5.3.1 理解数据类型转换

数据类型转换,顾名思义,是从一种数据类型转换为另一种数据类型。常说的"取整",就蕴含类型转换的意思,即,将浮点小数转换为整数。
   我们在日常生活中,也常于各类角色之间举行转换,在企业中是老板或职员,在家中是丈夫或老婆,对陌生人彬彬有礼,对相熟的人则暴露各种坏性情,这也是一种类型转换。 类型转换可谓无时不存,无处不在。
  5.3.2 显式类型转换

从字面意思来举行理解,显式类型转换,是显式地从一种数据类型转换为另一种数据类型。在Python中通过类型名+()的语法来实现显式类型转换。
代码实例-将小数取整:
  1. """
  2. @author: 大神薯条老师
  3. @desc: 数据类型的显式转换
  4. """
  5. # 据说单身狗荷包里会有11块1毛1分钱, 还经常舍不得花
  6. money = 11.11
  7. money = int(money)
  8. # 据说有对象的人,从相识到结婚,平均会花费¥201314元
  9. money = -201314
  10. money = float(money)
复制代码
代码解说:
   (1) 在代码中界说了一个浮点类型的变量money, 然后通过int(money)的情势将浮点类型显式地转换为整型。
  (2) 将整型转换为浮点类型时,数字后面会多了一个小数点。比方将201314转换为浮点类型,则转换后的值为201314.0
  代码实例-字符串类型与数值类型之间的转换:
  1. """
  2. @author: 大神薯条老师
  3. @desc: 字符串与数值类型的转换
  4. """
  5. # 1.字符串类型转换为十进制整型
  6. number = "  201314"
  7. # base=10表示字符串中的数字是十进制
  8. number = int(number, base=10)
  9. number = "  1010"
  10. # base=2表示字符串中的数字是二进制
  11. number = int(number, base=2)
  12. # 转换为浮点类型
  13. number = "  201314"
  14. number = float(number)
  15. # 2.数值类型转换为字符串类型
  16. number = str(number)
复制代码
代码解说:
   (1) 将字符串类型转换为数值类型时,直接通过int()或float()将字符串类型显式转换为数值类型
  (2) 对于整数,可以在int()的显式转换中,通过参数base来指定转换前的数字是什么进制。当字符串中的数字为十进制时,传递的参数为10。当字符串中的数字为二进制时,传递的参数为2。字符串中的数字为十六进制时,传递的参数为16。
  (3) 通过str()将数值类型转换为字符串类型
  将字符串类型转换为数值类型时,字符串中的字符必须是连续的合法的数(十进制数,二进制数,十六进制数等)。
   字符串首部和尾部可以存在连续的空白字符(换行符,回车符,空格符等),不能出如今中间位置。
  代码实例-字符串非法转换:
  1. """
  2. @author: 大神薯条老师
  3. @desc: 字符串非法转换
  4. """
  5. number = "  -20  "
  6. # 类型转换成功
  7. number = int(number)
  8.  
  9. number = "  -ABC  "
  10. # 类型转换成功,ABC为16进制
  11. number = int(number, base=16)
  12. number = "20.1314    748"
  13. # 转换为浮点型时抛出了异常,因为空白字符只能出现在首尾
  14. number = int(number)
  15. number = "20.1314  \n"
  16. # 类型转换成功
  17. number = float(number)
  18. # 转换为整型时抛出异常,因为字符.对整数来说是非法的字符
  19. number = int(number)
复制代码
代码解说:
   (1) 将字符串"20.1314    748"转换为浮点型时失败,因为空白字符只能出如今首尾
  (2) 字符串"20.1314  \n"无法转换为整型,因为字符串中的.号对整型来说是非法的字符
  5.3.3 隐式类型转换

在使用数值类型举行数值运算时,范围小的数据类型会自动转换为范围大的数据类型。Python中的数值类型:
   布尔类型,整型,浮点类型
  将其按表示的范围大小举行排序:
   布尔类型 < 整型 < 浮点类型
  代码实例-数值类型的隐式转换:
  1. """
  2. @author: 大神薯条老师
  3. @desc: 数值类型的隐式转换
  4. """
  5. # True即整型值为1,False即整型值为0
  6. value = 1+ True
  7. # value的值为2
  8.  
  9. # True转换后的浮点值为1.0,False转换后的浮点值为0.0
  10. value = 1.0 + True
  11. # value的值为2.0
  12.  
  13. # 范围小的数据类型自动转换为范围更大的数据类型
  14. value = 1+1.0+ True
  15. # 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
  
5.3.4 别的类型与布尔类型的转换

每一种数据类型都有其对应的假值,凡是表示假值的转换后的布尔类型都为False。整型中的假值是0,浮点类型的假值是0.0,字符串的假值是空字符串,None表示空值,恒为假。
   在Python中,零值和空值都为假值。非零值和非空值都是真值。
  5.3.5 国庆假期最后一天

跟薯条老师学后端开辟,高级爬虫(JS逆向+安卓逆向),数据分析,大数据开辟,量化生意业务,以及机器学习+深度学习算法。坚定本身的学习目的,保持学习的热情,那你成为高手只是时间问题。
   薯条老师的学生在南方电网,林氏家居,京东,阿里等大厂。想体系学习Python和Java的同学,可以移步薯条老师的个人技能博客:薯条老师的个人技能博客http://www.chipscoco.com/ 对本节教程有任何不懂的同学,亦可在评论区中举行评论。薯条老师会详细解答你们提出的每一个问题。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

星球的眼睛

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表