编程会碰到各种复杂的条件和流程,所以编写代码的目的也可以理解为是在判断这些条件,并确定该如何控制并处理这些流程。这离不开编程语言中提供的流程控制语句。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