Skip to main content

assert断言

简介

assert 关键字后面可以接一个表达式,只要表达式的最终结果为 True,那么断言通过,用例执行成功,否则用例执行失败。

assert <表达式> [, arguments]
# 等价于
if not <表达式>:
raise AssertionError(arguments)

括号中的参数可有可无,参数将会在表达式的布尔值为False时抛出,使得错误更加明晰。

应用场景:

  • 判断系统类型
import sys
assert ('linux' in sys.platform), "该代码只能在 Linux 下执行"

与条件语句的区别

assert 的作用和 if 语句非常接近,但是assert 的检查是可以被关闭的,比如在命令行模式下运行 Python 程序时,加入 -O 选项就可以使程序中的 assert 失效。一旦 assert 失效,其包含的语句也就不会被执行。

所以可以将 assert 更适用与一些非固定错误,而条件语句用在一些必要的错误,如果不好区分这两者的应用场景,那么建议只使用条件语句

使用场景

  • 实际开发中,不建议使用,或者尽量少用。