9. assert语句
在 Python 中,assert 语句用于断言某个条件为真。如果条件为假,则会引发 AssertionError 异常。
作用:
帮助开发者在代码中检查某些假设条件是否成立,通常用于调试和测试。
语法
assert 真值表达式 [, 错误信息]
说明
- 当真值表达式为False时,用错误信息创建一个 AssertionError 类型的错误,并使用raise引发错误,进入异常状态。
- 错误信息可以没有。
示例
# assert语句示例
def calculate_discount_price(price, discount):
'''
计算并返回折扣后的价格!
:param price: 原价
:param discount: 折扣 0~1 之间
:return: 折扣后的价格
'''
assert 0 < discount <= 1, "折扣必须在 0 到 1 之间"
return price * discount
print('__debug__:', __debug__)
print(calculate_discount_price(999, .8)) # 八折
print(calculate_discount_price(999, 1.2)) # 12折
上述程序在运行时,如果 discount 不在 0 ~ 1之间时会触发 AssertionError 类型的错误。此错误只在调试运行时出现。优化模式下等同于没有 assert 语句。
assert语句等同于
if __debug__:
if not (真值表达式):
raise AssertionError(错误信息)