Python断言语句如何测试一个条件

195 阅读2分钟

在Python中,断言是一个确认关于你的程序状态的语句。例如,如果你写了一个createUser 函数,并且你确定用户需要大于18岁,你就断言age 字段大于或等于18。你可以把assert 语句看作是在运行时进行的单元测试

def createUser(user):
  assert user.age >= 18

tl;dr

  • 断言是简单的布尔表达式,如果其条件是False
  • assert 语句是 Python 中断言的内置语法。
  • 开发人员经常使用assert 来进行类型检查,以及函数签名的输入/输出验证。
  • assert 语句用于调试目的。

学习Python,获得聘用

20多年来,Python一直很受欢迎,今天有成千上万的公司使用它来提供可靠的软件。如果你对Python的职业感兴趣,可以通过与我们一起编写真正的代码开始。

剖析Python中的断言语句

Python 有一个内置的assert 语句,其语法如下:

`assert condition [, error_message]`

Code language: Python (python)

如果 {condition} 是假的,就会产生一个AssertionError。如果设置了可选的第二个参数,error_message ,那么就会使用该错误信息。

捕获一个断言错误

你可以像捕捉 Python 中的其他错误一样捕捉断言错误:

`age = 17 try:     assert age >= 18, "too young!" except Exception as e:     print(e) # prints: "too young!"`

Code language: Python (python)

不要在生产中使用 assert 语句

assert 语句是调试代码和编写测试的绝佳工具。你可能应该在生产环境中使用 assert 语句。你应该部署之前检查你的代码是否有意外行为。

不要使用小括号来表示断言的参数

不要使用小括号来调用assert ,好像它是一个正常的函数。Asser是一个语句,不是一个函数。当你调用assert(condition,message) ,你执行assert 语句,用一个元组(condition,message) 作为条件,而没有实际的消息。