Python3斷言
斷言是一種理智檢查,當程序的測試完成,你可以打開或關閉。
斷言的最簡單的方法就是把它比作 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!