编程会碰到各种复杂的条件和流程,所以编写代码的目的也可以理解为是在判断这些条件,并确定该如何控制并处理这些流程。这离不开编程语言中提供的流程控制语句。Python 作为一门成熟的编程语言,自然是少不了这些。
Python 提供的控制语句大致可以分为两类,一类是条件判断语句,另外一类是循环条件语句。
条件判断语句
Python 条件判断语句有两个,分别是 if 和 match。
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 的使用主要有三个点:
match用来指定判断目标。case用来判断条件是否成立。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
continue 和 break 是作用于循环语句的中断控制语句。
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