斷言是一種理智檢查,當程式的測試完成,你可以打開或關閉。
斷言的最簡單的方法就是把它比作 raise-if 語句 (或者更準確,加 raise-if-not 聲明). 一個運算式進行測試,如果結果出現 false,將引發異常。
斷言是由 assert 語句,在Python中新的關鍵字,在Python1.5版本中引入使用的關鍵字。
程式員常常放置斷言來檢查輸入的有效,或在一個函數調用後檢查有效的輸出。
assert 語句
當它遇到一個斷言語句,Python評估計算之後的運算式,希望是 true 值。如果運算式為 false,Python 觸發 AssertionError 異常。
斷言的語法是 -
assert Expression[, Arguments]
如果斷言失敗,Python使用 ArgumentExpression 作為AssertionError異常的參數。AssertionError異常可以被捕獲,並用 try-except語句處理類似其他異常,但是,如果沒有處理它們將終止該程式並產生一個回溯。
示例
這裏是一個把從開氏度到華氏度的溫度轉換函數。
#!/usr/bin/python3 def KelvinToFahrenheit(Temperature): assert (Temperature >= 0),"Colder than absolute zero!" return ((Temperature-273)*1.8)+32 print (KelvinToFahrenheit(273)) print (int(KelvinToFahrenheit(505.78))) print (KelvinToFahrenheit(-5))
當執行上面的代碼,它產生以下結果 -
32.0 451 Traceback (most recent call last): File "test.py", line 9, in print KelvinToFahrenheit(-5) File "test.py", line 4, in KelvinToFahrenheit assert (Temperature >= 0),"Colder than absolute zero!" AssertionError: Colder than absolute zero!
上一篇:
Python3標準異常
下一篇:
Python3異常處理