购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.6 流程控制

2.6.1 条件判断

条件判断是第一种流程控制,能够在程序当中定义分叉路,所以也称为分支结构。其使用方法是,当条件成立时,程序执行if区块,否则执行else区块。if后面的条件会被转成布尔值,记得不要和True及False比较,进行数值类型比较时需要明确的比值。

1 if条件一:
2      符合条件一需执行的区块
3  elif 条件二:
4      符合条件二需执行的区块
5  else:
6      不符合任何条件需执行的区块

2.6.2 while循环

while循环是一种重复结构。其使用方法是,当适当条件成立时,程序会持续运行while区块。while区块要设有将条件达成不成立的机制,否则程序会出现无穷循环的状况。

1  while条件:
2      当条件成立时需执行的区块

2.6.3 for循环

for循环是另外一种重复的结构,是使用一个迭代的做法,将某一个容器元素从头到尾遍历一次。

1  for i in [...]:
2      条件成立时需执行的区块

Python有3个常搭配for循环的内建函数range、zip和enumerate,可以有效地使程序更简洁。

range可以产生一个长度为n的序列,如range(3)会输出0、1、2。

1  for i in range(3):
2      print(i)
3  # 0
4  # 1
5  # 2

zip是压缩的意思,能够将多个列表依序压缩成一个列表。

1  for i, j in zip([a, b, c], [1, 2, 3]):
2      print(i, j)
3  # a, 1
4  # b, 2
5  # c, 3

enumerate叫作枚举,可以在循环时同时指定对应的索引。

1  for i,j in enumerate([a, b, c]):
2      print(i, j)
3  # 0, a
4  # 1, b
5  # 2, c

2.6.4 循环中断

循环中断break和continue是两个用于循环的附加功能。break可以强制终止循环,continue可以跳过这个回合继续执行循环。

拓展阅读
解析式

解析式(Comprehensions)是Python的一种特殊写法,参考了自函数式程序语言(Functional Programming),其实就是将if或for写成一行,让程序更简洁。

1  # if comprehensions
2  a = ... if condition else ...
3
4  # for comprehensions
5  a = [i for i in [...]] # list

解析式也可以拼接比较复杂的版本,用法如下。 9FQhc63B2BHZOuxXVYnrR0p1zD0P5Yx2GVNcL7FQB4LB199dnYYPTXBucTD8FizM

点击中间区域
呼出菜单
上一章
目录
下一章
×