当前位置:   article > 正文

【Python从入门到进阶】6、变量规范及类型转换_python数据类型转换规律

python数据类型转换规律

接上篇《5、变量的定义及数据类型
上一篇我们学习了Python变量的定义及数据类型,本篇我们来学习Python变量的命名规范以及类型转换。

一、查看数据类型

在Python中,只要定义了一个变量,而且它有数据,那么它的类型就已经确定了,不需要开发者主动的去说明它的类型(如double a=1.2,只需要a=1.2),系统会自动辨别。也就是说在使用的时候“变量没有类型,数据才有类型”。

比如下面的实例里,a的类型可以根据数据来确认,但是我们没办法预测变量d的类型:

如果临时想要查看一个变量存储的数据类型,可以使用type(变量的名字),来查看变量存储的数据类型:

二、标识符和关键字

计算机编程语言中,标识符是用户编程时使用的名字,用于给变量、常量、函数、语句块等命名,以建立起名称与使用之间的关系。
标识符的命名规范如下:

1、标识符由字母、下划线和数字组成,且数字不能开头。
2、严格区分大小写。
3、不能使用关键字。

思考:下面的标识符哪些是正确的,哪些不正确,为什么?(答案已附)

1、命名规范

(1)标识符命名要做到顾名思义:
起一个有意义的名字,尽量做到一眼就知道是什么意思(提高代码可读性)。比如“名字”就定义为name,定义“学生”就用student。如下面的命名规范:

(2)遵守一定的命名规范
●驼峰命名法,又分为大驼峰命名法和小驼峰命名法。

小驼峰式命名法(lower camel case): 第一个单词以小写字母开始;第二个单词的首字母大写,例如:myName、aDog。

大驼峰式命名法(upper camel case): 每一个单字的首字母都采用大写字母,例如:FirstName、LastName。

●下划线连接
还有一种 命名法是用下划线“_”来连接所有单词,比如send_buf。
Python的命名规则遵循PEP8标准(https://peps.python.org/pep-0008/)。
注:PEP8规范是什么?
​PEP是Python Enhancement Proposal的缩写,通常翻译为“Python增强提案”。
每个PEP都是一份为Python社区提供的指导Python往更好的方向发展的技术文档,其中的第8号增强提案(PEP 8)是针对Python语言编订的代码风格指南。

2、关键字

(1)关键字的概念
一些具有特殊功能的标识符,这就是所谓的关键字。这些关键字已经被Python官方使用了,所以不允许开发者自己定义和关键字相同的标识符。

(2)Python中的关键字
下面就是Python中的所有关键字:

注:关键字的学习和使用,会在后面的博文中一一总结学习。

三、类型转换

(1)类型转换的应用场景

什么是类型转换呢?我们先来说一下它的应用场景。例如我们打开一个图书网站:

假设未来我们需要使用爬虫来抓取读书网中的所有书籍的数据,但是我们获取到的页码(1、2、3、4、5)会全部是字符串类型的(因为是从html文档字符流中读取的),但是这些页码本身都是整型(Int)的数据,所以我们需要将其转换为整型的数据,这里就需要用到类型转换。

总的来说,python类型转换的目的是方便各种类型的数据进行连接操作。

(2)Python类型转换函数

以下就是Python转换数据类型的所有函数:

(3)测试类型转换函数

  1. # _*_ coding : utf-8 _*_
  2. # @Time : 2023-02-05 11:42
  3. # @Author : 光仔December
  4. # @File : Python 类型转换
  5. # @Project : Python基础
  6. # 1. int() -- 转换成整型
  7. num = "1"
  8. print("(1)转换前:",type(num)," 转换后:",type(int(num)))
  9. # 2. float() -- 转换成浮点型
  10. num1 = 1
  11. print("(2)转换前:",type(num1)," 转换后:",type(float(num1)))
  12. # 3. complex() -- 转换成复数型
  13. # 复数由实部(real)和虚部(imag)构成,
  14. # 在Python中,复数的虚部以j或者J作为后缀,具体格式为:
  15. # a + bj
  16. # a 表示实部,b 表示虚部。
  17. num2 = "12+0.2j"
  18. print("(3)转换前:",type(num2)," 转换后:",type(complex(num2)))
  19. # 4. str() -- 转换成字符串型
  20. num3 = 1.23
  21. print("(4)转换前:",type(num3)," 转换后:",type(str(num3)))
  22. # 5. repr() -- 转换成表达式字符串型
  23. num4 = {'runoob': 'runoob.com', 'google': 'google.com'}
  24. print("(4.1)转换前:",type(num4)," 转换后:",type(repr(num4)))
  25. # repr() 方法可以将读取到的格式字符,比如换行符、制表符,转化为其相应的转义字符。
  26. num5 = "物品\t单价\t数量\n包子\t1\t2"
  27. print("(4.2)转换前:\n",num5,"\n转换后:",repr(num5))
  28. # 5. eval() -- 执行一个字符串表达式,并返回表达式的值
  29. x = 7
  30. num6 = eval('3 * x')
  31. print("(5)执行结果:",num6)
  32. # 6. tuple() -- 转换成元祖型
  33. list1= ['Google', 'Taobao', 'Runoob', 'Baidu']
  34. print("(6)转换前:",type(list1)," 转换后:",type(tuple(list1)))
  35. # 7. list() -- 转换成列表型
  36. tuple1= ('Google', 'Taobao', 'Runoob', 'Baidu')
  37. print("(7)转换前:",type(tuple1)," 转换后:",type(list(tuple1)))
  38. # 8. chr() -- 转换成Unicode字符
  39. num7 = 1
  40. print("(8)转换前:",type(num7)," 转换后:",type(chr(num7)))
  41. # 9. ord() -- 转换成ASCII整数值
  42. num8 = "1"
  43. print("(9)转换前:",num8," 转换后:",ord(num8))
  44. # 10. hex() -- 转换成⼗六进制字符串
  45. num9 = 1
  46. print("(10)转换前:",num9," 转换后:",hex(num9))
  47. # 11. oct() -- 转换成八进制字符串
  48. num10 = 1
  49. print("(11)转换前:",num10," 转换后:",oct(num10))
  50. # 12. bin() -- 转换成二进制字符串
  51. num11 = 1
  52. print("(12)转换前:",num11," 转换后:",bin(num11))
  53. # 13. bool() -- 转换成布尔类型
  54. # (1)整数:如果对非0的整数(int 包含正数和负数)进行bool类型的转换,结果是True;0是False
  55. # (2)浮点数:正负浮点数都是True,0.0是False
  56. # (3)字符串:只要字符串有内容,就是True,否则是False
  57. # (4)列表和元组:只要列表和元组中有内容,就是True,否则是False
  58. # (5)字典:只要字典中有内容,就是True,否则是False
  59. num12 = 1
  60. num13 = 0
  61. num14 = "123"
  62. num15 = ""
  63. num16 = ['苹果','橘子','香蕉']
  64. num17 = []
  65. num18 = ('花生','瓜子','核桃')
  66. num19 = ()
  67. num20 = {"name":"张三","age":23}
  68. num21 = {}
  69. print("(13)转换前:",type(num12),type(num13),type(num14),type(num15),type(num16),
  70.       type(num17),type(num18),type(num19),type(num20),type(num21),"\n",
  71.       " 转换后内容:",bool(num12),bool(num13),bool(num14),bool(num15),bool(num16)
  72.       ,bool(num17),bool(num18),bool(num19),bool(num20),bool(num21))

测试结果:

至此,Python变量规范及类型转换内容已全部分析完毕,下一篇我们来讲解Python中的算术运算符相关内容。

参考:尚硅谷Python爬虫教程小白零基础速通教学视频

转载请注明出处:https://blog.csdn.net/acmman/article/details/128889599

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/170871
推荐阅读
相关标签
  

闽ICP备14008679号