Python中的assert(断言)用于在代码中判断某个条件是否满足,如果满足则继续执行,如果不满足则抛出异常。通常情况下,assert用于在开发和调试阶段对代码进行一些基本的检查,确保代码的正确性。
语法:
```python
assert expression, message
```
- `expression`是一个要判断的条件,如果结果为False,则触发AssertionError异常。
- `message`是可选参数,用于在抛出异常时可以输出自定义的错误信息。
下面是一个简单的示例,演示了如何使用assert:
def calculate_average(scores):
assert len(scores) > 0, "分数列表不能为空"
total = sum(scores)
average = total / len(scores)
return average
student_scores = [90, 85, 95, 78, 92]
average_score = calculate_average(student_scores)
print("平均分:", average_score)
empty_scores = []
average_score = calculate_average(empty_scores) # 这里会触发AssertionError
print("平均分:", average_score)
在这个例子中,我们定义了一个 calculate_average()
函数,接收一个分数列表作为参数,计算它们的平均分数。
在函数内部,我们使用 assert len(scores) > 0, "分数列表不能为空"
来断言分数列表不能为空。如果列表为空,将会触发AssertionError异常,并输出错误信息"分数列表不能为空"。
首次调用 calculate_average()
时,传入了包含5个分数的列表,满足条件,不会触发异常,正常计算出平均分并打印。
而第二次调用 calculate_average()
时,传入了一个空列表,不满足条件,触发AssertionError异常,并输出错误信息"分数列表不能为空"。