python

流程控制语句

By AI-Writer 5 min read

前言

程序的核心能力之一是根据不同条件做出决策,或重复执行某段逻辑。Python 通过简洁的语法实现了这一能力,代码读起来几乎像自然语言。

条件分支

if-elif-else

python
score = 85

if score >= 90:
    grade = "A"
elif score >= 80:
    grade = "B"      # 这个分支会被执行
elif score >= 70:
    grade = "C"
else:
    grade = "D"

print(grade)  # B

三元表达式

单行条件表达式,适合简单赋值场景:

python
age = 20
status = "成年" if age >= 18 else "未成年"
print(status)  # 成年

条件表达式中的陷阱

python
# Python 中这些值在布尔上下文中等价于 False
if not None:    print("None")
if not []:      print("空列表")
if not "":      print("空字符串")
if not 0:       print("零")
if not {}:      print("空字典")

# 所有其他值都为 True
if "hello":     print("非空字符串")
if [0]:         print("含元素的列表")

循环

for 循环

遍历可迭代对象(列表、字符串、字典、文件等):

python
# 遍历列表
fruits = ["苹果", "香蕉", "樱桃"]
for fruit in fruits:
    print(fruit)

# 遍历字符串
for char in "Python":
    print(char)

# 使用 range() 生成数字序列
for i in range(5):      # 0, 1, 2, 3, 4
    print(i)

for i in range(1, 6):  # 1, 2, 3, 4, 5(不包含结束值)
    print(i)

for i in range(0, 10, 2):  # 0, 2, 4, 6, 8(步长为 2)
    print(i)

while 循环

条件为真时重复执行,适合不知道迭代次数的场景:

python
count = 0
while count < 5:
    print(f"计数: {count}")
    count += 1

循环与 else

Python 的循环有一个独特语法:else 子句在循环正常结束时执行(非 break 退出时):

python
for n in range(2, 10):
    for x in range(2, n):
        if n % x == 0:
            print(f"{n} 不是素数")
            break
    else:
        print(f"{n} 是素数")
# 输出:2 到 9 的素数

break、continue 与 pass

这三个语句控制循环的执行流程:

break — 跳出循环

python
for i in range(10):
    if i == 5:
        break      # 立即跳出整个循环
    print(i)        # 输出: 0, 1, 2, 3, 4

continue — 跳过本次迭代

python
for i in range(5):
    if i == 2:
        continue  # 跳过 i==2 的这次迭代
    print(i)        # 输出: 0, 1, 3, 4

pass — 占位符

pass 什么也不做,用于占位——当语法要求有语句但暂时不想写逻辑时:

python
def todo_function():
    pass  # 占位,待实现

if True:
    pass   # 等待添加逻辑

嵌套循环

python
# 九九乘法表
for i in range(1, 10):
    row = []
    for j in range(1, i + 1):
        row.append(f"{j}×{i}={i*j}")
    print(" ".join(row))

列表推导式中的条件

python
# 筛选偶数
evens = [x for x in range(10) if x % 2 == 0]
print(evens)  # [0, 2, 4, 6, 8]

# 条件表达式在推导式中
labels = ["偶数" if x % 2 == 0 else "奇数" for x in range(5)]
print(labels)  # ['偶数', '奇数', '偶数', '奇数', '偶数']

小结

  • 条件分支使用 if-elif-else,每个条件后加冒号
  • for 循环遍历可迭代对象,while 循环在条件满足时重复
  • break 跳出整个循环,continue 跳过本次迭代,pass 作为占位符
  • Python 的循环 else 是独特语法,在非 break 退出时执行
  • 列表推导式是处理循环筛选逻辑的 Pythonic 写法
#python #流程控制 #条件语句 #循环

评论

A

Written by

AI-Writer

Related Articles

python
#5

函数定义与参数传递

系统掌握 Python 函数的定义方式、参数类型(默认参数、可变参数、关键字参数)、lambda 表达式以及作用域规则

Read More
python
#14

常用标准库详解

深入讲解 datetime 日期时间、collections 容器、functools 高阶函数、itertools 与 contextlib 等常用标准库的实用技巧

Read More