目录
在 Python 中,流程控制语句用于控制代码的执行路径。
1. 条件语句
条件语句用于根据条件的真假来决定执行哪一块代码。主要的条件语句有 if
、elif
和 else
。
if
语句:- 用于测试一个条件是否为真,如果为真,则执行相应的代码块。
x = 10 if x > 5: print("x 大于 5")
elif
语句:- 用于在
if
语句的条件不满足时测试其他条件。
x = 10 if x > 10: print("x 大于 10") elif x == 10: print("x 等于 10")
- 用于在
- match与case语句:
case
语句通常指的是用于实现类似于其他编程语言中switch-case
的功能。Python 在 3.10 版本中引入了match
语句,这是类似于switch-case
的一种结构,称为模式匹配。
def handle_value(value):
match value:
case 1:
print("值是 1")
case 2:
print("值是 2")
case 3:
print("值是 3")
case _:
print("值不在预期范围内")
# 测试
handle_value(2) # 输出: 值是 2
handle_value(5) # 输出: 值不在预期范围内
2. 循环语句
循环语句用于重复执行代码块。主要有 for
循环和 while
循环。
for
循环:- 用于遍历序列(如列表、元组、字符串等)或其他可迭代对象。、
for i in range(5): print(i) fruits = ["apple", "banana", "cherry"] for fruit in fruits: print(fruit)
while
循环:- 在给定条件为真的情况下重复执行代码块。循环会一直进行直到条件变为假。
count = 0 while count < 5: print(count) count += 1
while 循环 + else
while
循环语句的else
子句具有特殊的功能。它的作用是在循环正常结束后执行一段代码。具体来说,else
子句在循环没有被break
语句中断的情况下执行。如果循环由于break
语句中断,则else
子句中的代码不会执行。count = 0 while count < 5: print("当前计数值:", count) count += 1 else: print("循环正常结束,没有被中断。")
3. 控制循环的语句
break
:- 用于提前退出循环,不再执行循环体中的剩余代码。
for i in range(10): if i == 5: break print(i)
continue
:- 跳过当前循环的剩余部分,直接进入下一次循环的测试条件。
for i in range(10): if i % 2 == 0: continue print(i)
pass
:- 占位符,用于表示“空”代码块,通常在需要一个语法结构但又不想实现任何功能时使用。
for i in range(10): pass # 循环体为空
4. 异常处理
异常处理用于捕获和处理运行时错误,以避免程序崩溃。
try
:- 包含可能引发异常的代码块。
except
:- 用于捕获和处理异常。
else
:- 如果没有异常发生,则执行的代码块。
finally
:- 不论是否发生异常,始终执行的代码块。
示例:
try: result = 10 / 0 except ZeroDivisionError: print("不能除以零") else: print("没有发生异常") finally: print("无论如何都会执行")
5. assert
语句
用于调试,检查条件是否为真。如果条件为假,assert
语句会引发 AssertionError
。
在 Python 中,AssertionError
是一种内置的异常类型,它用于表示 assert
语句失败时引发的错误。assert
语句是用于调试的工具,帮助开发者在代码中检查条件是否为真。如果条件为假,assert
语句会引发 AssertionError
,从而提醒开发者某个预期的条件没有得到满足。
x = 0
assert x > 0, "x 应该大于 0"
#因为x不满足大于0的条件,就会从触发运行提示
6. with
语句
用于简化资源管理,如文件操作。它会在代码块执行完后自动清理资源。
with open('file.txt', 'r') as file:
contents = file.read()
print(contents)
# 文件在这里会自动关闭
7. 生成器和迭代器
生成器 (
generator
):使用yield
关键字返回一个值,并在下次调用时从上次停止的地方继续执行。def countdown(n): while n > 0: yield n n -= 1 for num in countdown(5): print(num)
迭代器 (
iterator
):实现__iter__()
和__next__()
方法的对象。class MyIterator: def __init__(self, start, end): self.current = start self.end = end def __iter__(self): return self def __next__(self): if self.current > self.end: raise StopIteration self.current += 1 return self.current - 1 for num in MyIterator(1, 3): print(num)
总结
- 条件语句:
if
、elif
和else
用于基于条件执行不同的代码块。 - 循环语句:
for
和while
用于重复执行代码块,break
和continue
控制循环的执行。 - 异常处理:
try
、except
、else
和finally
用于处理和管理运行时错误。 assert
语句:用于调试,检查条件是否为真。with
语句:用于资源管理,确保资源正确释放。- 生成器和迭代器:用于创建和遍历自定义的可迭代对象。