python 錯誤處理 assert詳解

2022-10-04 14:30:55 字數 1056 閱讀 5449

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