![Django 2.0 入门与实践](https://wfqqreader-1252317822.image.myqcloud.com/cover/564/31794564/b_31794564.jpg)
上QQ阅读APP看书,第一时间看更新
4.2 条件判断语句
前面章节中的示例代码都是一行一行按顺序执行的,但是现实中代码往往需要进行一定的判断来选择是否执行,条件判断语句就可以完成这样的功能。
以学生考试成绩为例,60分以上为及格,60分以下为不及格,编写代码如下:
![](https://epubservercos.yuewen.com/63F970/17214369505519906/epubprivate/OEBPS/Images/Figure-P52_10762.jpg?sign=1739282660-l7DYdwE6eEyoqALqlc4w1MwTu1E7kZVv-0-3d4a9af85a0937480df207054d88cc00)
以上代码执行结束,输出“及格”,而不会输出“不及格”,由此可见代码只执行了“if score >= 60:”所包含的代码块,而没有执行“else:”所包含的代码块。如果将score修改为50,则会输出“不及格”。
由此可见,条件判断语句是根据布尔表达式的值选择代码块来执行的。下面的值在条件判断中都会被认为是假(false):
False,None,0,"",(),[],{}
除以上类型外,其他类型都会被认为是真(true)而执行相应的代码块。
现实中条件判断往往会更复杂,会出现多种情况,此时可以使用elif关键字来区分更多情况。仍以考试成绩为例,90分以上为优秀,80~89分为良好,70~79分为中等,60~69分为及格,60分以下为不及格。编写代码如下:
![](https://epubservercos.yuewen.com/63F970/17214369505519906/epubprivate/OEBPS/Images/Figure-P53_29829.jpg?sign=1739282660-d73vLrvoFLKbOHc2I3Wze66pYd3SilRm-0-fb179f96951220fec4c53fe25c01a4ef)
此时同样成绩为70分会输出“中等”。
在条件判断语句中不仅可以使用算术运算符,其他任何布尔运算都可以,如使用成员表达式判断今天是否是工作日:
![](https://epubservercos.yuewen.com/63F970/17214369505519906/epubprivate/OEBPS/Images/Figure-P53_29830.jpg?sign=1739282660-GTnkAFLDlze4VMB5MKVJaZPGxdmIOLjY-0-c92a3139c7b5b37a4521a460c38b5335)
输出结果:今天是工作日。