9. assert语句

在 Python 中,assert 语句用于断言某个条件为真。如果条件为假,则会引发 AssertionError 异常。

作用:

帮助开发者在代码中检查某些假设条件是否成立,通常用于调试和测试。

语法

assert 真值表达式 [, 错误信息]

说明

示例

# 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(错误信息)