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

一、查看数据类型

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

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

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


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

【Python从入门到进阶】6、变量规范及类型转换_标识符和关键字_02

二、标识符和关键字

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

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

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

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

1、命名规范

(1)标识符命名要做到顾名思义:

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

【Python从入门到进阶】6、变量规范及类型转换_Python类型转换_04

(2)遵守一定的命名规范

●驼峰命名法,又分为大驼峰命名法和小驼峰命名法。

【Python从入门到进阶】6、变量规范及类型转换_Python类型转换_05


小驼峰式命名法(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中的所有关键字:

【Python从入门到进阶】6、变量规范及类型转换_标识符和关键字_06


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

三、类型转换

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

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

【Python从入门到进阶】6、变量规范及类型转换_Python类型转换_07


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

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

(2)Python类型转换函数

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

【Python从入门到进阶】6、变量规范及类型转换_标识符和关键字_08

(3)测试类型转换函数

# _*_ coding : utf-8 _*_
# @Time : 2023-02-05 11:42
# @Author : 光仔December
# @File : Python 类型转换
# @Project : Python基础

# 1. int() -- 转换成整型
num = "1"
print("(1)转换前:",type(num)," 转换后:",type(int(num)))

# 2. float() -- 转换成浮点型
num1 = 1
print("(2)转换前:",type(num1)," 转换后:",type(float(num1)))

# 3. complex() -- 转换成复数型
# 复数由实部(real)和虚部(imag)构成,
# 在Python中,复数的虚部以j或者J作为后缀,具体格式为:
# a + bj
# a 表示实部,b 表示虚部。
num2 = "12+0.2j"
print("(3)转换前:",type(num2)," 转换后:",type(complex(num2)))

# 4. str() -- 转换成字符串型
num3 = 1.23
print("(4)转换前:",type(num3)," 转换后:",type(str(num3)))

# 5. repr() -- 转换成表达式字符串型
num4 = {'runoob': 'runoob.com', 'google': 'google.com'}
print("(4.1)转换前:",type(num4)," 转换后:",type(repr(num4)))
# repr() 方法可以将读取到的格式字符,比如换行符、制表符,转化为其相应的转义字符。
num5 = "物品\t单价\t数量\n包子\t1\t2"
print("(4.2)转换前:\n",num5,"\n转换后:",repr(num5))

# 5. eval() -- 执行一个字符串表达式,并返回表达式的值
x = 7
num6 = eval('3 * x')
print("(5)执行结果:",num6)

# 6. tuple() -- 转换成元祖型
list1= ['Google', 'Taobao', 'Runoob', 'Baidu']
print("(6)转换前:",type(list1)," 转换后:",type(tuple(list1)))

# 7. list() -- 转换成列表型
tuple1= ('Google', 'Taobao', 'Runoob', 'Baidu')
print("(7)转换前:",type(tuple1)," 转换后:",type(list(tuple1)))

# 8. chr() -- 转换成Unicode字符
num7 = 1
print("(8)转换前:",type(num7)," 转换后:",type(chr(num7)))

# 9. ord() -- 转换成ASCII整数值
num8 = "1"
print("(9)转换前:",num8," 转换后:",ord(num8))

# 10. hex() -- 转换成⼗六进制字符串
num9 = 1
print("(10)转换前:",num9," 转换后:",hex(num9))

# 11. oct() -- 转换成八进制字符串
num10 = 1
print("(11)转换前:",num10," 转换后:",oct(num10))

# 12. bin() -- 转换成二进制字符串
num11 = 1
print("(12)转换前:",num11," 转换后:",bin(num11))

# 13. bool() -- 转换成布尔类型
# (1)整数:如果对非0的整数(int 包含正数和负数)进行bool类型的转换,结果是True;0是False
# (2)浮点数:正负浮点数都是True,0.0是False
# (3)字符串:只要字符串有内容,就是True,否则是False
# (4)列表和元组:只要列表和元组中有内容,就是True,否则是False
# (5)字典:只要字典中有内容,就是True,否则是False
num12 = 1
num13 = 0
num14 = "123"
num15 = ""
num16 = ['苹果','橘子','香蕉']
num17 = []
num18 = ('花生','瓜子','核桃')
num19 = ()
num20 = {"name":"张三","age":23}
num21 = {}
print("(13)转换前:",type(num12),type(num13),type(num14),type(num15),type(num16),
type(num17),type(num18),type(num19),type(num20),type(num21),"\n",
" 转换后内容:",bool(num12),bool(num13),bool(num14),bool(num15),bool(num16)
,bool(num17),bool(num18),bool(num19),bool(num20),bool(num21))

测试结果:

【Python从入门到进阶】6、变量规范及类型转换_驼峰命名_09

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

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