這篇文章帶給大家的內容是關於python assert的用法介紹(附程式碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
python assert 句語格式及用法很簡單。通常程式在運行完之後拋出異常,使用assert可以在出現有異常的程式碼處直接終止運行。而不用等到程式執行完畢之後拋出異常。
python assert的作用
python assert如果發生異常就表示表達顯示為假。可以理解表達式回傳 值為假 時就會觸發異常。
assert語句的語法格式格式
assert expression [, arguments] assert 表达式 [, 参数]
附加說明:assert也可以用於多個表達式的: assert expression1, expression2。
注意:表達式=false 時,則執行其後面的例外。
我們看幾個範例
1:單一表達式:
a = 1assert a < 0, '出错了,a大于0 啊' print('这里不会输出')##輸出:
Traceback (most recent call last): File "main.py", line 3, in <module> assert a < 0, '出错了,a大于0 啊' AssertionError: 出错了,a大于0 啊2:多重表達式:
a = 1 b = -1 assert a > 0, b < 0 print('正常输出,表达式返回真了') # 输出:正常输出,表达式返回真了
##3:嘗試捕獲assert例外:
import traceback try: assert a < 0 except AssertionError as aeeor: # 明确抛出此异常 # 抛出 AssertionError 不含任何信息,所以无法通过 aeeor.__str__()获取异常描述 print('AssertionError', aeeor, aeeor.__str__()) # 通过 traceback 打印详细异常信息 print('traceback 打印异常') traceback.print_exc() except: # 不会命中其他异常 print('assert except') try: raise AssertionError('测试 raise AssertionError') except AssertionError as aeeor: print('raise AssertionError 异常', aeeor.__str__())
輸出:
AssertionError traceback 打印异常 Traceback (most recent call last): File "main.py", line 7, in <module> assert a < 0 AssertionError raise AssertionError 异常 测试 raise AssertionError
4:函數呼叫拋出例外:
# 除法运算 def foo(value, divide): assert divide != 0 return value / divide print('4除以2 =', foo(4, 2)) # 执行成功 print('4除以0 =', foo(4, 0)) # 抛出异常##輸出:
4除以2 = 2.0 Traceback (most recent call last): File "main.py", line 8, in <module> print('4除以0 =', foo(4, 0)) # 抛出异常 File "main.py", line 3, in foo assert divide != 0 AssertionError
#透過上面幾個範例,相信大家也深刻理解aseert的用處了
總結: 表達式返回false 時。直接拋出異常終止繼續執行。
python影片教學
】以上是python assert的用法介紹(附程式碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!