Coursera - Python for Everybody - 课程笔记 - Week 5
程序员文章站
2022-04-27 10:20:19
...
Week 5
3 条件语句 Conditional Statements
- 给定计算机执行程序的一个方向选择,使得计算机更加智能
- 基本结构
if
语句
if ... :
... # 上述条件为真时执行
#此处因为缩进跳出条件结构,上述条件为假,跳过条件结构内部语句到此处
...
- 对上面的代码结构,可以根据
if
后面所问问题的答案决定是否执行额外缩进的代码块 - 缩进通常为四个空格,对于python,缩进是有具体句法含义的,连续的同缩进代码行视为一个代码块
- 在条件语句中,条件为真会执行
if
一行下面的所有缩进的内容(代码块),直到缩进取消 - 代码块可以嵌套,即同一级缩进下还可以有进一步的缩进
- 比较运算符
- 布尔表达式询问一个问题,并产生一个“是”或者“否”的结构,用之进行程序流控制
- 布尔表达式使用比较运算表达式产生真值
True
或假值False
- 比较运算符会查看变量的值,但是不会改变值
运算符 | 意义 |
---|---|
< |
小于 |
<= |
小于等于 |
== |
等于 |
>= |
大于等于 |
> |
大于 |
!= |
不等于 |
- 条件语句可以用于嵌套,其可以出现在其他条件语句或者循环语句中,其内部也可以嵌套其他语句块
- 两路决策:解决“一种不行执行另一种”的情形,在
if
对应代码块后加入else
代码块 - 对于
if-else
结构,其有且只会有一个分支被执行 - 多路决策结构:使用
elif
关键字,及else
和if
的组合,elif
可以有多个,即一个结构中可以有超过两个条件分支和最多一个else
分支,只执行满足条件的对应分支的代码块(如果都不符合就执行最后的else
分支)
if ...:
...
elif ...:
...
else:
...
....
- 对于两路或者多路结构,整个语句结构视为一个代码块
- 对多路结构,如果最后没有
else
分支,如果其他条件分支都没有满足的,就直接跳过这一代码块,不执行任何一个分支的内容(但是条件判别式都是被执行的) - 需要注意,多个条件分支的判定是按照定义顺序执行的,如果出现了条件重叠,那么由于一些条件先被执行,因此可能会出现一些其后的条件永远不会执行的情况(如先比较比20小,再比较比10小)
-
try
和except
:为一些可能发生的错误提供保障,在错误发生时,避免程序崩溃,而是进而执行一个其他内容- 使用
try
将有危险的代码段包含起来,并在except
中写明当代码段真的出问题时需要执行的内容 - 如果
try
段执行成功,except
段将会被跳过 - 如果
try
段执行失败,那么直接跳到except
段(注意,代码出错前的内容仍旧被执行了),而不是报错返回栈调用
- 使用
- 上述结构就像是条件结构:
if
代码执行失败,就执行指定内容