掘金 后端 ( ) • 2022-08-05 12:50

一、单分支语句:if语句

1.语法:

if <条件>:
    语句块

2.注意事项:

1)if语句首先判断<条件>的结果值,如果结果为True,则执行语句块里的语句序列。如果结果为False,语句块里的语句会被跳过;

2)语句块是if条件满足后执行的一个或多个语句序列;

3)语句块中语句通过与if所在行形成缩进表达包含关系。

4)if判断语句还可以简写:

if tag:
    print("True")

当x为0、0.0、0j、None或者空的字符串、列表、元组等时,其布尔值为False,其他情况均为True。在布尔值作为判断条件的时候,通常不会写if tag == True/False,而是直接用上面的方法表示。

3.pass关键字: pass关键字可以独立构成一个pass语句,它代表一个空语句,不做任何事情,一般是为了保持程序结构的完整性,用作占位语句,在编程过程中,如果暂时没有想好语句块中如何处理,可以使用pass关键字占位,语句块空置会报语法错误。

二、二分支语句:if else语句

1.语法:

if <条件>:  
  语句块1
else:  
  语句块2#当满足条件的时候则执行语句块1 ,不满足条件就执行语句块2

2.注意事项:

1)条件判断后面要加冒号;

2)语句块1需要缩进,else 与 if对齐,else后面同样要加冒号,语句块2需要缩进;

3)二分支结构还有一种更简洁的表达方式,也称为条件表达式,语法格式如下:

<表达式1> if<条件> else <表达式2>

4)当条件为True时,执行表达式1,否则执行表达式2,这里面表达式可以是个数据对象,也可以是个变量或者函数;

5)条件表达式的紧凑结构非常适合一些简单逻辑的处理,逻辑复杂的不建议使用条件表达式。

三、多分支结构:if – elif – else语句

需要多重判断的时候,可以考虑使用多分支结构来解决问题。如果恰当设立分支条件,运用多分支可以解决问题,通常优于多个单分支并列使用。

因为多分支语句只有一个会被执行到,而单分支语句需要每个分支都进行判断,在执行效率上,多分支语句更优。

1.语法:

if <条件1>:
  语句块1
elif <条件2>:
  语句块2
... 
elif <条件n>:  
  语句块n  
else:
  语句块n+1

2.注意事项:

1)elif是else if的缩写,可以有多个elif;

2)Python依次寻找第一个结果为True的条件,执行该条件下的语句块,同时结束,跳过整个if-elif-else结构,执行后面的语句;

3)如果没有任何条件成立,else下面的语句块被执行;

4)else子句是可选的;

5)尽量将简单的逻辑写在前面,复杂逻辑写在后面,增强代码可读性和运行效率;

6)当每个分支的条件复杂度相差不多的时候,执行频率高的写在前面,频率低的写在后面,可增强代码的执行效率;

7)后面分支的部分条件可以省略(前面判断不成立代表了某些条件已经成立),但省略后,各分支的判定条件需要注意先后顺序和关联性。

四、if语句的嵌套

对于if的嵌套有以下几种:

1)if里面嵌套if

2)elif里面嵌套if

3)else里面嵌套if

1.注意事项: 从语法的角度上说,嵌套的层数没有限制,但是,从代码的可读性和可维护性来说,不建议嵌套层数超过三层。当嵌套层数过多时,要么进行条件的合并,要么将内部逻辑拆分成函数来解决。并且嵌套时要格外注意分支语句的对应关系,容易出错。

五、其他

1)在上述分支结构的条件判断中,条件设定时不要将不同类型的数据变量进行==或!=的判断,因为它的结果永远成立或者不成立,而且难以察觉。

2)如果分支语句中嵌套了循环语句,例如for循环,由于循环可以和else搭配使用,所以要通过缩进格式来表达与else的对应关系,需格外留意匹配错误的情况。

3)分支结构的判断条件中,能用 0<a<10表达判断条件的尽量用这种形式,因其直观且容易理解,优于使用逻辑运算符将两个条件连接。

以上就是本次分享的所有内容,如果你觉得文章还不错,欢迎关注公众号:Python编程学习圈,每日干货分享,内容覆盖Python电子书、教程、数据库编程、Django,爬虫,云计算等等。或是前往编程学习网,了解更多编程技术知识。