Python 测开27期 - julia - 学习笔记 - Python控制流

分支判断

什么是分支判断

  • 一条一条语句顺序执行叫做顺序结构
  • 分支结构就是在某个判断条件后,选择一条分支去执行

1. IF

if condition_1:
    statement_block_1
elif condition_2:
    statement_block_2
else:
    statement_block_3

2. if 嵌套

在嵌套 if 语句中,可以把 if…elif…else 结构放在另外一个 if…elif…else 结构中。

if 表达式1:
    语句
    if 表达式2:
        语句
    elif 表达式3:
        语句
    else:
        语句
elif 表达式4:
    语句
else:
    语句

3. match…case

Python 3.10 增加了 match…case 的条件判断,不需要再使用一连串的 if-else 来判断了。

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

match subject:
    case <pattern_1>:
        <action_1>
    case <pattern_2>:
        <action_2>
    case <pattern_3>:
        <action_3>
    case _:
        <action_wildcard>
def http_error(status):
    match status:
        case 400:
            return "Bad request"
        case 404:
            return "Not found"
        case 418:
            return "I'm a teapot"
        case 401|403|404:   #用|匹配多个条件
            return "Not allowed"
        case _:
            return "Something's wrong with the internet"

mystatus=400
print(http_error(400))

4. 三目运算符

# 正常的赋值操作和判断语句结合
if a>b:
    h = "变量1" 
else:
    h = "变量2"
# 优化之后更简洁的写法
h = "变量1" if a>b else "变量2"

循环

什么是循环

  • 循环语句允许我们执行一个语句或语句组多次
  • python提供了for循环和while循环

循环的作用

  • 封装重复操作
  • Python最重要的基础语法之一

1. for-in循环

  • 使用场景:
    • 明确的知道循环执行的次数或者要对一个容器进行迭代(后面会讲到)
  • range 函数
    • range(101)可以产生一个0到100的整数序列。
    • range(1, 100)可以产生一个1到99的整数序列。
    • range(1, 100, 2)可以产生一个1到99的奇数序列,其中的2是步长。

2. while 循环

  • 满足条件,进入循环
  • 需要设定好循环结束条件

break-跳出整个循环体

# while循环
count = 0
# while循环条件,满足条件执行循环体内代码
while count<5:
  # count 变量+1,否则会进入死循环 
  count += 1  
  if count == 3:
    break
list_demo = [ 1, 2, 3, 4, 5, 6]
# 循环遍历列表
for i in list_demo:
  # 如果i 等于三,那么跳出整个for循环
  # 不再打印后面的4、5、6
  print(i)
  if i == 3:
    break

continue:跳出当前轮次循环

# while循环
count = 0
# while循环条件,满足条件执行循环体内代码
while count<5:
  # count 变量+1,否则会进入死循环
  print(count)
  if count == 3:
    # 为了与3区分,如果==3的情况下count = count+1.5
    count += 1.5 
    continue
  count += 1
list_demo = [1, 2, 3, 4, 5, 6]
# 循环遍历列表
for i in list_demo:
    # 如果i 等于3,那么跳出当前这轮循环,不会再打印3
    if i == 3:
        continue
    print(i)

pass

  • 没有实质性含义,通常占位使用
  • 不影响代码的执行逻辑