assert是斷言的意思,解釋為:我斷定這個程式執程式設計客棧行之後或者之前會有這樣的結果,如果不是,那就扔出乙個錯誤。
語法:assert expression [, arguments]
assert 表示式 [, 引數]
舉例: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的意思是,表示式n != 0應該是true,否則,根據程式執行的邏輯,後面的**肯定會出錯。
如果斷言失敗,assert語句本身就會丟擲assertionerror:
啟動python直譯器時可以用-o引數來關閉assert
補充知識:python中assertion異常
python中的assert是一種最簡單的異常機制
assert的基本語法是:
"assert" expression1 ["," expression2]
expression1用於判斷生成布林值,當expression1為假的時候,則丟擲異常,中的內容可選,www.cppcns.com即使用者可以選擇異常的提示值:
>>>a=23
>>>assert a==23
>>>a=a-1
>>>assert a==23
traceback (most recent call last):
file ""程式設計客棧, line 1, in
assertionerror
>>>assert a==23 , "e"
traceback (most recent cal程式設計客棧l last):
file "", line 1, in
assertionerror: error1
本文標題: python 錯誤處理 assert詳解
本文位址:
Python 錯誤處理
當我們認為某些 可能會出錯時,就可以用try來執行這段 如果執行出錯,則後續 不會繼續執行,而是直接跳轉至錯誤處理 即except語句塊,執行完except後,如果有finally語句塊,則執行finally語句塊,至此,執行完畢。例 a b traceback most recent call l...
Python編碼錯誤處理
在將字串寫入檔案時,執行f.write str 後台總是報錯 unicodeencodeerror ascii codec can t encode character u u6211 in position 0 ordinal not in range 128 即ascii碼無法被轉換成unico...
python 錯誤處理 assert
assert是斷言的意思,解釋為 我斷定這個程式執行之後或者之前會有這樣的結果,如果不是,那就扔出乙個錯誤。語法 assert expression arguments assert 表示式 引數 舉例 def foo s n int s assert n 0,n is zero return 10...