Python斷言
斷言是一個理智檢查,可以打開或關閉在程序做測試時。
斷言的最簡單的方法是將其比喻為觸發-if語句(或者更準確,觸發,如果未聲明)。一個表達式進行測試,如果結果出現false,將引發異常。
斷言是由assert語句,最新的關鍵字是Python版本1.5引入的。
程序員常常放置在一個函數來檢查的有效輸入開始斷言和函數調用後檢查有效輸出。
assert語句:
當它遇到一個assert語句,Python計算表達式。如果表達式為false,Python會引發一個AssertionError異常。
斷言的語法是:
assert Expression[, Arguments]
如果斷言失敗,Python使用ArgumentExpression作為AssertionError的參數。 AssertionError的異常可以被捕獲,並像使用在try-except語句的任何其他異常處理,但如果不處理,他們將終止程序並產生回溯。
例子:
這裡是一個函數,它把來自開氏度到華氏溫度的溫度下。自零開氏度是因為它得到寒冷,如果它看到一個負溫度函數退出:
#!/usr/bin/python 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 <module> print KelvinToFahrenheit(-5) File "test.py", line 4, in KelvinToFahrenheit assert (Temperature >= 0),"Colder than absolute zero!" AssertionError: Colder than absolute zero!