Python 控制流语句详解:赋值、条件与循环

· 约 2 分钟 ·
本文目录(12 节)

读 Python 程序时,先沿执行路径走一遍:哪些语句按顺序执行,哪些分支被跳过,循环什么时候结束?这篇梳理赋值、条件和循环,再补充 match-case 的模式匹配。注意版本边界:match-case 需要 Python 3.10+,解包赋值则早已存在。


目录

  • 系列目录

  • 引言

  • 一、赋值语句

      1. 基本形式
  • 二、条件语句

      1. if-elif-else
      1. match-case
  • 三、循环语句

      1. for 循环
      1. while 循环
      1. 循环控制语句
  • 总结


引言

本文介绍 Python 中最常用的语句(statements):赋值、条件和循环语句。语句与表达式的区别在于——语句主要执行动作,不返回值(例如 for 循环只是”操作”一组数据,而不是返回一个新对象)。理解这些语句是写好 Python 程序的第一步。函数定义和异常处理将在后续单独讲解。


一、赋值语句

赋值语句用于将一个引用绑定到对象,即给变量赋值。常见形式包括:

1. 基本形式

变量赋值

a = 4
b = a + 2

元组或列表解包赋值

# 元组解包
(a, b) = (1, 2)
print(a, b)   # 输出: 1 2

# 列表解包
[c, d] = [3, 4]
print(c, d)   # 输出: 3 4

属性赋值

class Dog:
    pass

dog1 = Dog()
dog1.weight = 10
print(dog1.weight)  # 输出: 10

索引赋值

# 列表
lst = [5, 6, 7]
lst[0] = 4
print(lst)  # [4, 6, 7]

# 字典
d = {'one': 1, 'two': 2}
d['one'] = '一'
print(d)  # {'one': '一', 'two': 2}

二、条件语句

条件语句用于做决策并执行不同的代码块。核心语句是 if-elif-else 和 match-case。

1. if-elif-else

1.1 语法形式

if condition1:
    block1
elif condition2:
    block2
else:
    block3

1.2 示例

成绩判定

score = 85
if score >= 90:
    print("优秀")
elif score >= 60:
    print("及格")
else:
    print("不及格")

输出:及格


2. match-case(Python 3.10+)

适合多分支选择的场景,比连续的 if-elif-else 更清晰。

2.1 语法形式

match expression:
    case pattern1:
        block1
    case pattern2:
        block2
    case _:
        default block

2.2 示例

命令状态判断

command = "start"
match command:
    case "start":
        print("启动程序")
    case "stop":
        print("停止程序")
    case _:
        print("未知命令")

输出:启动程序


三、循环语句

循环语句用于重复执行某些操作,主要有 for 和 while 两种。

1. for 循环

用于遍历可迭代对象,如 list、str、dict 等。

1.1 语法形式

for variable in iterable:
    block

1.2 示例

统计字符串中每个字符的出现次数

text = "hello world"
letter_count = {}
for char in text:
    if char.isalpha():
        char = char.lower()
        letter_count[char] = letter_count.get(char, 0) + 1
print(letter_count)
# 输出: {'h': 1, 'e': 1, 'l': 3, 'o': 2, 'w': 1, 'r': 1, 'd': 1}

2. while 循环

用于循环次数不确定的场景,只要条件为真就继续执行。

2.1 语法形式

while condition:
    block

2.2 示例

登录验证:最多三次尝试

correct_username = "admin"
correct_password = "123456"
attempts = 0
max_attempts = 3

while True:
    username = input("请输入用户名: ")
    password = input("请输入密码: ")
    attempts += 1
    if username == correct_username and password == correct_password:
        print("登录成功!")
        break
    else:
        print("用户名或密码错误。")
    if attempts >= max_attempts:
        print("尝试次数过多,账号已锁定。")
        break

3. 循环控制语句

break — 终止循环

for i in range(10):
    if i == 3:
        break
    print(i)  # 输出: 0 1 2

continue — 跳过本次,进入下一次迭代

for i in range(5):
    if i == 2:
        continue
    print(i)  # 输出: 0 1 3 4

pass — 空操作,仅作占位(了解即可)

for i in range(3):
    if i == 1:
        pass  # 这里什么都不做
    print(i)
# 输出: 0 1 2

总结

  • 语句是 Python 中最基本的动作单元,不直接返回值。注意区分”语句”和”表达式”。
  • 掌握赋值语句的多种形式,灵活进行变量/对象绑定与解包。
  • 熟练使用条件语句(if-elif-else 和 match-case)实现分支逻辑。
  • 理解 for 和 while 循环的区别与适用场景,学会用 break 和 continue 控制流程。
  • 后续将学习函数、异常处理等进阶主题。

推荐阅读:


💬 评论

这套方案在哪一步卡住了?也欢迎补充你的实现方式或踩坑经验。

正在连接评论服务,首次访问可能需要几秒…