zzxworld

Python3 流程控制语句学习总结

Python3 流程控制语句学习总结

编程会碰到各种复杂的条件和流程,所以编写代码的目的也可以理解为是在判断这些条件,并确定该如何控制并处理这些流程。这离不开编程语言中提供的流程控制语句。Python 作为一门成熟的编程语言,自然是少不了这些。

Python 提供的控制语句大致可以分为两类,一类是条件判断语句,另外一类是循环条件语句。

条件判断语句

Python 条件判断语句有两个,分别是 ifmatch

if 语句

if 是 Python 中最常用的条件判断语句,它可以方便快捷的判断一个逻辑是否成立。比如判断某个变量数值的大小:

a = 1

if a > 0:
  print('a 大于 0')

通过添加 else 语句,可以实现反向的条件判断:

a = 1

if a > 0:
  print('a 大于 0')
else
  print('a 不大于 0')

还可以通过使用任意多个 elif 来实现更多的条件判断:

a = 1

if a > 0:
  print('a 大于 0')
elif a == 0:
  print('a 等于 0')
elif a == -1:
  print('a 等于 -1')

最后搭配 else 来使用,可以实现条件都不成立时的默认操作:

a = 1

if a > 0:
  print('a 大于 0')
elif a == 0:
  print('a 等于 0')
else:
  print('a 小于 0')

match 语句

match 主要用来针对单项数据有多种状态下的判断和控制处理。比如实现数字大小写的转换:

number = 1

match number:
  case 1:
    return '一'
  case 2:
    return '二'
  case 3:
    return '三'
  case _:
    return number

match 的使用主要有三个点:

  1. match 用来指定判断目标。
  2. case 用来判断条件是否成立。
  3. case _ 中的下划线符号是一个通配符,在所有条件都不满足时会执行这个判断,可以作为兜底处理逻辑。

case 语句可以使用 | 符号来同时纳入多个值,代表 or 的意思,表示只要满足其中任何一个值条件就成立:

case 1 | 3 | 5:
  print('奇数')

循环条件语句

Python 的循环条件语句也有两个:for 循环和 while 循环。

for 循环

for 循环主要针对字符串,列表,或是元组这种可迭代的数据对象,以实现遍历并处理其中每个子元素的功能。

例如分别输出字符串中的每个字母:

words = 'Python'

for w in words:
  print(w)

后面还可以接 else 语句,表示循环执行完成后的操作:

words = 'Python'

for w in words:
  print(w)
else:
  print('ok')

while 循环

while 循环语句用来处理一些在条件不满足时必须一直执行的逻辑流程。

i = 0

while i < 1000:
  print(i)
  i += 1

使用 while 语句时需特别小心其后的逻辑条件是否能被正确触发。比如上面的例子,如果漏掉了最后 i += 1 这行代码,while 后的判断对象 i 就永远不会有变化,那么这个循环会一直进行,成为「死循环」。

while 同样也支持 else 语句:

i = 0

while i < 1000:
  print(i)
  i += 1
else:
  print('ok')

else 语句后的逻辑会在循环结束后执行。

continue 和 break

continuebreak 是作用于循环语句的中断控制语句。

continue 表示跳过语句接下来的执行部分,开始下一个循环:

words = 'Python'

for w in words:
  if w == 't':
    continue
  print(w)

上面的代码会跳过输出字母 t 的循环。

break 表示立即终止循环:

i = 0

while i < 1000:
  if i > 10:
    break
  print(i)
  i += 1