欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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关键字,及elseif的组合,elif可以有多个,即一个结构中可以有超过两个条件分支和最多一个else分支,只执行满足条件的对应分支的代码块(如果都不符合就执行最后的else分支)
if ...:
    ...
elif ...:
    ...
else:
    ...    
....
  • 对于两路或者多路结构,整个语句结构视为一个代码块
  • 对多路结构,如果最后没有else分支,如果其他条件分支都没有满足的,就直接跳过这一代码块,不执行任何一个分支的内容(但是条件判别式都是被执行的)
  • 需要注意,多个条件分支的判定是按照定义顺序执行的,如果出现了条件重叠,那么由于一些条件先被执行,因此可能会出现一些其后的条件永远不会执行的情况(如先比较比20小,再比较比10小)
  • tryexcept:为一些可能发生的错误提供保障,在错误发生时,避免程序崩溃,而是进而执行一个其他内容
    • 使用try将有危险的代码段包含起来,并在except中写明当代码段真的出问题时需要执行的内容
    • 如果try段执行成功,except段将会被跳过
    • 如果try段执行失败,那么直接跳到except段(注意,代码出错前的内容仍旧被执行了),而不是报错返回栈调用
  • 上述结构就像是条件结构:if代码执行失败,就执行指定内容