一、HAPTER4条件
1、IF语句
if (<expr>):
<statement>
elif (<expr>):
<statement>
else:
<Statement>
<fo1lowing statement>
(1)使用布尔表达式
return fn<0)*(-n)+(n>=0)*(n)#这家伙长得太奇怪了
不要这样写
注:1>0相当于1
0>1相当于0
2、MATCH-CASE语句
match...case
Python3.10增加了match..case 的条件判断,不需要再使用一连串的if-else来判断了。
match后的对象会依次与case后的内容进行匹配,如果匹配成功,则执行匹配到的表达式,否则直接跳过,可以匹配一切。
语法格式如下:
match subject:
case <pattern_1>:
<action_1>
case <pattern_2>:
<action_2>
case <pattern_3>:
<action_3>
case _:
<action_wildcard>
case:类似于C和Java中的default:,当其他case都无法匹配时,匹配这条,保证永远会匹配成功
(1)一个case也可以设置多个匹配条件,条件使用|隔开,例如:
case 401|403|404:
注意:用嵌套的if 而不是 and来判断
否定条件(带有else部分),要用直接的方式
使用if而不是else来控制
二、代码风格
1、风格介绍
·“修饰”的前提一定是“跑通”代码,也就是说你得先确保你的code没有任何的bug
·这种“修饰”并不是对每一个人都强制学习的内容,他并不影响你快乐学习接下来的所有课程。
2、缩进与换行
(1)缩进
01.如果有开始定界符,其余行的缩进需与开始定界符对齐。
02.需要额外的4个空格(长度等于一个Tab键),以区分开传入参数,和其他内容。
03.空格一般用于添加以上这种缩进,Tab键一般用于保持行与行之间的一致性。
04.多行i语句衔接,需要一个额外的缩进,以区分其他内容
(2)换行
01.将所有行限制为最多79个字符。
02.一般语句接受“隐式”延续,但是with语句等不支持,需要使用反斜杠|来衔接。
03.另一个这样的例子是assert语句。
04.多行if语句的缩进详见上一小节。
05.通常不鼓励使用复合语句(同一行上的多个语句)。
3、导入规范
————import本地模块/包
1.当我们需要导入本地自己封装好的一些模块时,需要通过import来导入。
2.如果我们需要在m1.py文件中导入同目录下的m2.py文件,直接导入即可。
————import Python库的模块/包
1.Python的基础库自带了丰富的模块和包,无需自己逐一实现,只需要一键import即可
享用。
2.使用fromximporty其中×是包前缀,y是没有前缀的模块名称
4、关于空格
1.紧接在圆括号、方括号或大括号内,不需要多余空格;
2.在逗号、分号或冒号之前,尾随逗号之后均不需要多余空格;
3.在切片中,两个冒号必须应用相同的间距;
4.紧接在开始函数调用的参数列表的左括号之前,不需要多余空格;
5.赋值(或其他)运算符周围需要多个空格以使其与另一个运算符对齐;
5、代码注释
注释就是对代码的解释和说明,其目的是让人们能够更加轻松地了解代码。
·注释是编写程序时,写程序的人给一个语句、程序段、函数等的解释或提示,能提高程序代码的可读性。
在有处理逻辑的代码中,源程序有效注释量必须在20%以上。
6、命名规则
·变量名只能包含字母、数字和下划线。变量名可以字母或下划线打头,但不能以数字打头,例如,可将变量命名为message_1,但不能将其命名为1_message.
·变量名不能包含空格,但可使用下划线来分隔其中的单词。例如,变量名greeting_message可行,但变量名greeting message会引发错误。
7、命名规范
·不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词,如print.
·变量名与函数名应既简短又具有描述性。例如,name比n好,student name比s_n好。