python assert的作用

一、python assert 的作用:

根据 Python 官方文档解释 (https://docs.python.org/3/reference/simple_stmts.html#assert), "Assert statements are a convenient way to insert debugging assertions into a program".

 

二、一般的用法是:

assert condition

用来让程序测试这个 condition,如果 condition 为 false,那么 raise 一个 AssertionError 出来。逻辑上等同于:

if not condition:
    raise AssertionError()

比如如下的例子:

>>> assert 1==1
>>> assert 1==0
Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    assert 1==0
AssertionError
>>> assert True
>>> assert False
Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    assert False
AssertionError
>>> assert 3<2
Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    assert 3<2
AssertionError

三、如何为 assert 断言语句添加异常参数

  assert 的异常参数,其实就是在断言表达式后添加字符串信息,用来解释断言并更好的知道是哪里出了问题。格式如下:

assert expression [, arguments]
assert 表达式 [, 参数]

 

比如如下的例子:

>>> assert len(lists) >=5,'列表元素个数小于 5'

Traceback (most recent call last):
File "D:/Data/Python/helloworld/helloworld.py", line 1, in <module>
assert 2>=5,'列表元素个数小于 5'
AssertionError: 列表元素个数小于 5

>>> assert 2==1,'2 不等于 1'

Traceback (most recent call last):
File "D:/Data/Python/helloworld/helloworld.py", line 1, in <module>
assert 2==1,'2 不等于 1'
AssertionError: 2 不等于 1

--------------------------------------------------------------------

参考链接:

https://www.cnblogs.com/liuchunxiao83/p/5298016.html

https://www.cnblogs.com/cedrelaliu/p/5948567.html