1. 程式人生 > >Python全棧開發之---assert斷言

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".

二、一般的用法是:

1 assert condition
2 用來讓程式測試這個condition,如果condition為false,那麼raise一個AssertionError出來。邏輯上等同於:
3 
4 if not
condition: 5 raise AssertionError()

例如:

 1 >>> assert 1==1
 2 >>> assert 1==0
 3 Traceback (most recent call last):
 4   File "<pyshell#1>", line 1, in <module>
 5     assert 1==0
 6 AssertionError
 7 >>> assert True
 8 >>> assert False
 9 Traceback (most recent call last):
10 File "<pyshell#3>", line 1, in <module> 11 assert False 12 AssertionError 13 >>> assert 3<2 14 Traceback (most recent call last): 15 File "<pyshell#4>", line 1, in <module> 16 assert 3<2 17 AssertionError

三、如何為assert斷言語句新增異常引數

  assert的異常引數,其實就是在斷言表示式後新增字串資訊,用來解釋斷言並更好的知道是哪裡出了問題。格式如下:

assert expression [, arguments]
assert 表示式 [, 引數]

例如:

 1 >>> assert len(lists) >=5,'列表元素個數小於5'
 2 Traceback (most recent call last):
 3 File "D:/Data/Python/helloworld/helloworld.py", line 1, in <module>
 4 assert 2>=5,'列表元素個數小於5'
 5 AssertionError: 列表元素個數小於5
 6 >>> assert 2==1,'2不等於1'
 7 Traceback (most recent call last):
 8 File "D:/Data/Python/helloworld/helloworld.py", line 1, in <module>
 9 assert 2==1,'2不等於1'
10 AssertionError: 2不等於1