python 錯(cuò)誤處理 assert詳解
assert是斷言的意思,解釋為:我斷定這個(gè)程序執(zhí)行之后或者之前會(huì)有這樣的結(jié)果,如果不是,那就扔出一個(gè)錯(cuò)誤。
語法:
assert expression [, arguments]
assert 表達(dá)式 [, 參數(shù)]
舉例:
def foo(s): n = int(s) assert n != 0, 'n is zero!' return 10 / n def main(): foo('0') >Traceback (most recent call last): ... AssertionError: n is zero!
assert的意思是,表達(dá)式n != 0應(yīng)該是True,否則,根據(jù)程序運(yùn)行的邏輯,后面的代碼肯定會(huì)出錯(cuò)。
如果斷言失敗,assert語句本身就會(huì)拋出AssertionError:
啟動(dòng)Python解釋器時(shí)可以用-O參數(shù)來關(guān)閉assert
補(bǔ)充知識(shí):python中assertion異常
python中的assert是一種最簡(jiǎn)單的異常機(jī)制
assert的基本語法是:
"assert" expression1 ["," expression2]
expression1用于判斷生成布爾值,當(dāng)expression1為假的時(shí)候,則拋出異常,[]中的內(nèi)容可選,即用戶可以選擇異常的提示值:
>>>a=23 >>>assert a==23 >>>a=a-1 >>>assert a==23 Traceback (most recent call last): File "<stdin>", line 1, in <module> AssertionError >>>assert a==23 , "error1" Traceback (most recent call last): File "<stdin>", line 1, in <module> AssertionError: error1
以上這篇python 錯(cuò)誤處理 assert詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
OpenCV python sklearn隨機(jī)超參數(shù)搜索的實(shí)現(xiàn)
這篇文章主要介紹了OpenCV python sklearn隨機(jī)超參數(shù)搜索的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01Nginx+Uwsgi+Django 項(xiàng)目部署到服務(wù)器的思路詳解
這篇文章主要介紹了Nginx+Uwsgi+Django 項(xiàng)目部署到服務(wù)器的思路,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05Python迭代器iterator生成器generator使用解析
這篇文章主要介紹了Python迭代器iterator生成器generator使用解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10Python根據(jù)Excel表進(jìn)行文件重命名的實(shí)現(xiàn)示例
在日常辦公過程中,批量重命名是經(jīng)常使用的操作,本文主要介紹了Python根據(jù)Excel表進(jìn)行文件重命名,具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01python對(duì)數(shù)組進(jìn)行反轉(zhuǎn)的方法
這篇文章主要介紹了python對(duì)數(shù)組進(jìn)行反轉(zhuǎn)的方法,涉及Python中reverse方法的使用技巧,需要的朋友可以參考下2015-05-05