Python中的Assert语句

141 阅读1分钟

1.基础语法

Assert语句的基础语法如下:

assert boolean_expression

这里,我们期望上述boolean_expression取值为True,而assert关键字的作用是帮助我们再次检查它是否真的为True。

此时如果我们断言是True,那么一切都好,没有什么错,我们可可以像往常一样继续往下执行。

但是,如果我们断言为False,则会发生如下断言错误:

Traceback (most recent call last):
    File "/your/path/a.py", line 2, in <modulel>
        assert  False
AssertionError

2.基础用法

我们可以将assert关键字作为代码中的某种健全性检查。比如在我们的代码中的某个点上,如果我们期望某些东西以某种方式出现,此时我们就可以使用assert关键字来验证它。

例如,假设我们有一个复杂的函数get_price(),它主要用于检索某个物品的价格。这里,假设价格不能是负数。

price = get_price()
assert price >= 0

上述代码中,语句assert price>0主要用于检查并验证price不是负数。如果函数get_price()有错误并返回负数,则会发生断言错误并停止运行程序。

3.断言并输出提示信息

更进一步,我们可以添加断言消息,该消息与断言错误一起豆豆。 语法如下:

assert boolean_expression, messa

举例如下:

price =-1
assert peice > 0 , "price must not be negative"

输出如下:

 Traceback (most recent call last):
    File "/your/path/a.py", line 3, in <module>
        assert price > 0 , "price must not be negative"
 AssertionError: price must not be negative