Python第二天(缩进规则、编码规范、标识符命名、关键字)

Python采用代码缩进和冒号(:)来区分代码块之间的层次。

对于类定义、函数定义、流程控制语句,异常处理语句等,行尾的冒号和下一行的缩进,表示下一个代码块的开始,而缩进的结束则表示此代码块的结束。

注意:Python 中实现对代码的缩进,可以使用空格或者 Tab 键实现。但无论是手动敲空格,还是使用 Tab 键,通常情况下都是采用 4 个空格长度作为一个缩进量(默认情况下,一个 Tab 键就表示 4 个空格)

例如:

 1 height = float(input("输入身高:"))
 2 weight = float(input("输入体重:"))
 3 bmi = weight/(height*height)
 4 
 5 # 判断身材是否合理
 6 if bmi < 18.5:
 7     # 下面两行同属于if分支语句中包含的代码,因此属于同一作用域
 8     print("BMI指数为:"+str(bmi))   # 输出BMI指数
 9     print("体重过轻")
10 if bmi >= 18.5 and bmi < 24.9:
11     print("BMI指数为:"+str(bmi))   # 输出BMI指数
12     print("正常范围,注意保持")
13 if bmi >= 24.9 and bmi < 29.9:
14     print("BMI指数为:"+str(bmi))   # 输出BMI指数
15     print("体重过重")
16 if bmi >= 29.9:
17     print("BMI指数为:" + str(bmi))  # 输出BMI指数
18     print("肥胖")

Python对代码的缩进要求严格,同一级别代码块的缩进量必须一样,否则解释器会报 SyntaxError 异常错误。

例如:对同一作用域的代码修改缩进量,会导致报错

 对于Python的缩进规则,可以这样理解,Python要求属于同一作用域中的各行代码,它们的缩进量必须一直。但是具体缩进量为多少,并不做硬性规定;

 

编码规范:

Python 采用 PEP 8 作为编码规范,其中 PEP 是 Python Enhancement Proposal(Python 增强建议书)的缩写,8 代表的是 Python 代码的样式指南。

编码规则:

1.每个import语句只导入一个模块,尽量避免一次导入多个模块,例如:

1 # 推荐
2 import os
3 import  sys
4 # 不推荐
5 import sys,os

2.不要再行尾添加分号,也不要用分号将两条命令放在同一行,例如:

1 # 不推荐
2 height = float(input("输入身高:")) ; weight = float(input("输入体重:"));

3.建议每行不超过80个字符,如果超过,建议使用小括号将多行内容隐式的连接起来,而不推荐使用反斜杠\进行连接。例如,如果一个字符串文本无法发实现一行完全显示,则可以使用小括号将其分开显示,代码如下:

1 # 推荐
2 a = ("马踏飞燕变驴踩胖鸟,贴张文物图就算文创:"
3      "博物馆文创,越走越邪门?")
4 # 不推荐
5 a = "马踏飞燕变驴踩胖鸟,贴张文物图就算文创: " \
6     "博物馆文创,越走越邪门?"

注意:此规范适用于绝对大多数情况,但以下两种情况除外:

  导入的模块语句过长;

  注释里的URL;

4.使用必要的空行可以增加代码的可读性,通常在顶级定义(如函数或类的定义)之间空两行,而方法定义之间空一行,另外在用于分隔某些功能的位置也可以空一行

5.通常情况下,在运算符两侧、函数参数之间以及逗号两侧,都建议使用空格进行分隔。

 

标识符命名规范:

标识符的主要作用就是作为变量、函数、类、模块以及其他对象的名称;

Python 中标识符的命名不是随意的,而是要遵守一定的命令规则,比如说:

  1. 标识符是由字符(A~Z 和 a~z)、下划线和数字组成,但第一个字符不能是数字。
  2. 标识符不能和 Python 中的关键字相同。
  3. Python中的标识符中,不能包含空格、@、% 以及 $ 等特殊字符。

例如,下面所例举的标识符时合法的:

1 UserID 
2 name
3 mode
4 user_age 

以下命名的标识符不合法:

1 2hello        #不能以数字开头
2 try             #try是关键字,不能作为标识符
3 $money     #不能包含特殊字符

4.在 Python 中,标识符中的字母是严格区分大小写的,也就是说,两个同样的单词,如果大小格式不一样,多代表的意义也是完全不同的。比如下面:三个变量之间,就是完全独立,毫无关系的,他们彼此之间是相互独立的个体;

1 age = 10
2 Age = 10
3 AGE = 10

5.Python 语言中,以下划线开头的标识符有特殊含义,例如:

以单下划线开头的标识符(如 _width),表示不能直接访问的类属性,其无法通过 from...import* 的方式导入;

以双下划线开头的标识符(如__add)表示类的私有成员;

以双下划线作为开头和结尾的标识符(如 __init__),是专用标识符。

因此,除非特定场景需要,应避免使用以下划线开头的标识符。

另外:Python允许使用汉字作为标识符(但我们尽量避免使用汉字作标识符);

不同场景的标识符,其名称也有一定的规范可循:

当标识符用作模块名时,应尽量短小,并且全部使用小写字母,可以使用下划线分割多个字母,例如 game_mian、game_register 等。

当标识符用作包的名称时,应尽量短小,也全部使用小写字母,不推荐使用下划线,例如 com.mr、com.mr.book 等。

当标识符用作类名时,应采用单词首字母大写的形式。例如,定义一个图书类,可以命名为 Book。

模块内部的类名,可以采用 "下划线+首字母大写" 的形式,如 _Book;

函数名、类中的属性名和方法名,应全部使用小写字母,多个单词之间可以用下划线分割;

常量命名应全部使用大写字母,单词之间可以用下划线分割;

 

关键字:

保留字是 Python 语言中一些已经被赋予特定意义的单词,这就要求开发者在开发程序时,不能用这些保留字作为标识符给变量、函数、类、模板以及其他对象命名;

查看关键字:

 

所有的关键字:

 

 

 需要注意的是,由于 Python 是严格区分大小写的,保留字也不例外。所以,我们可以说 if 是关键字,但 IF 就不是关键字。

 

posted @ 2022-07-08 10:34  南城古  阅读(217)  评论(0编辑  收藏  举报