单行If判断式和逻辑运算子
If判断式在程序中是很常用的语法,而且有很多变化,但是都不会脱离上一个单元讨论的原则。虽然有时候If判断式很复杂,但是其实简单的If判断式反而比较常用。甚至有些If判断式只有一个关系运算式。针对这些简单的If判断式,我们可以将它们进一步简化成「单行If判断式」。另外这个单元还要介绍「逻辑运算子」,它是用来结合多个关系运算式。
单行If判断式的语法如下:
运算式A if 关係运算式 else 运算式B
其实它是从以下If判断式简化而来:
if 关係运算式:
运算式A
else:
运算式B
也就是说,如果If后面的关系运算式是True,就执行运算式A,否则执行运算式B。但是要注意,运算式A和运算式B中不可以有「指定运算子」和「算术指定运算子」。我们以下列的If判断式为例:
# score物件中已经储存学生成绩
if score >= 60:
exam_pass = True
else:
exam_pass = False
利用单行If判断式的语法,可以将以上程序码简化为:
exam_pass = True if score >= 60 else False
原来的程序码是四行,简化之后变成一行,足足少了四分之三的长度,而且程序依然很容易阅读和理解,这就是Python语言追求的设计准则。