更新時(shí)間:2022年12月09日14時(shí)32分 來(lái)源:傳智教育 瀏覽次數(shù):
assert語(yǔ)句又稱作斷言,指的是期望用戶滿足指定的條件。當(dāng)用戶定義的約束條件不滿足的時(shí)候,它會(huì)觸發(fā)AssertionError異常,所以assert語(yǔ)句可以當(dāng)作條件式的raise語(yǔ)句。assert語(yǔ)句的格式為:
assert邏輯表達(dá)式,data # data是可選的
在上述格式中,assert后面緊跟一個(gè)邏輯表達(dá)式,相當(dāng)于條件。data通常是一個(gè)字符串,當(dāng)表達(dá)式的結(jié)果為False時(shí),作為異常類型的描述信息使用。邏輯上等同于:
if not 邏輯表達(dá)式: raise AssertionError(data)
斷言的示例如下:
a = 0 assert a!=0, "a的值不能為0"
上述示例中,定義了變量a的值為0,然后使用assert斷言a的值不等于0,所以程序出現(xiàn)如下錯(cuò)誤信息:
Traceback (most recent call last): File "D:/PythonCode/Chapter09/異常.py", line2, in<module> assert a!=0, "a的值不能為0" AssertionError: a的值不能為0
assert語(yǔ)句用來(lái)收集用戶定義的約束條件,而不是捕捉內(nèi)在的程序設(shè)計(jì)錯(cuò)誤,因?yàn)镻ython會(huì)自行收集程序的設(shè)計(jì)錯(cuò)誤,會(huì)在遇見(jiàn)錯(cuò)誤時(shí)自動(dòng)引發(fā)異常。
北京校區(qū)