python assert的作用

Posted AI菌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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


以上是关于python assert的作用的主要内容,如果未能解决你的问题,请参考以下文章

python assert的作用

python assert的作用

imgwarp.cpp:3143: error: (-215:Assertion failed) _src.total() > 0 in function ‘warpPerspective‘(代码片段

python assert的用处

Python Mocking assert_called不起作用

C++中的assert