Pyhton3(四):分支与循环

59 阅读2分钟

条件控制

简介

Python 条件语句是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块。

Python3中条件语句有ifmatch...case(python3.10新增)

if语句

Python中if语句的一般形式如下所示:

if condition_1:
    statement_block_1
elif condition_2:
    statement_block_2
else:
    statement_block_3

注意:

  • Python 中用 elif代替了 else if,所以if语句的关键字为:if – elif – else
  • 每个条件后面要使用冒号 : ,表示接下来是满足条件后要执行的语句块
  • 使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块
  • 支持嵌套

match...case

Python 3.10增加了 match...case 的条件判断,不需要再使用一连串的 if-else 来判断了,类似与switch...case

match subject:
    case <pattern_1>:
        <action_1>
    case <pattern_2>:
        <action_2>
    case <pattern_3>:
        <action_3>
    case _:
        <action_wildcard>

注意:

  • match 后的对象会依次与 case 后的内容进行匹配,如果匹配成功,则执行匹配到的表达式,否则直接跳过

  • _ 可以匹配一切,所以case _: 类似于 C 和 Java 中的 default: ,当其他 case 都无法匹配时,匹配这条,保证永远会匹配成功

  • 不需要加break之类的关键字使匹配停止,会自动停止

  • 一个 case 也可以设置多个匹配条件,条件使用 隔开

     case 1|2|3:
            return "ok"
    

循环语句

简介

Python3 中的循环语句有 forwhile

for

Python中的for循环可以遍历任何序列的项目,它常用于遍历字符串、列表、元组、字典、集合等序列类型,逐个获取序列中的各个元素。

注意:支持嵌套

for...in...

basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
for t in basket:
    print(t)

# apple
# orange
# banana
# pear

for...else...

for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完的情况下执行

basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
for t in basket:
    print(t)
else:
    print("执行正常!")

# pear
# orange
# apple
# banana
# 执行正常!

while

只要给定判断条件的值为True,while循环就会一直执行循环代码块,当判断条件假 False 时,循环结束

注意:支持嵌套

while...

只要给定判断条件的值为True,while循环就会一直执行循环代码块。

i = 0
while i < 5:
    print(i)
    i = i + 1

# 0
# 1
# 2
# 3
# 4

while...else

在 python 中,while...else 在判断条件为False 时执行 else 代码块

if __name__ == '__main__':
    # print_hi('PyCharm')
    i = 0
    while i < 5:
        print(i)
        i = i + 1
    else:
        print("执行完毕")

# 0
# 1
# 2
# 3
# 4
# 执行完毕

控制循环的关键字

  • break:跳出整个循环, 不会再循环里面的内容(嵌套循环中只跳出一层循环);
  • continue:跳出本次循环,
  • continue后面的代码不再执行, 但是还会继续循环;
  • exit:结束程序的运行。