assert 斷言語句和 if 分支有點類似,它用於對乙個 bool 表示式進行斷言,如果該 bool 表示式為 true,該程式可以繼續向下執行;否則程式會引發 assertionerror 錯誤。
有讀者可能會問,明明 assert 會令程式崩潰,為什麼還要使用它呢?這是因為,與其讓程式在晚些時候崩潰,不如在錯誤條件出現時,就直接讓程式崩潰。通常,assert 語句用在檢查函式引數的屬性(是引數是否是按照設想的要求傳入),或者作為初期測試和除錯過程中的輔助工具。
例如如下程式:
user_age =
input
("請輸入您的年齡:"
) age =
int(user_age)
assert
20< age <
80print
("您輸入的年齡在20和80之間"
)
上面程式中,使用 asser 語句斷言 age 必須位於 20 到 80 之間。執行上面程式,如果輸入的 age 處於執行範圍之內,則可看到如下執行過程:
如果輸入的 age 不處於 20 到 80 之間,將可以看到如下執行過程:
從上面的執行過程可以看出,斷言也可以對邏輯表示式進行判斷,因此實際上斷言也相當於一種特殊的分支。
assert 斷言的執行邏輯是:
if 表示式的值為 true:
程式繼續執行;
else: # 表示式的值為 false
程式引發 assertionerror 錯誤
wx : pwf96an
Python assert 斷言函式
使用assert斷言是學習python乙個非常好的習慣,python assert 斷言句語格式及用法很簡單。在沒完善乙個程式之前,我們不知道程式在 會出錯,與其讓它在執行最崩潰,不如在出現錯誤條件時就崩潰,這時候就需要assert斷言的幫助。本文主要是講assert斷言的基礎知識。python a...
python assert斷言用法
使用assert斷言是學習python乙個非常好的習慣,pythonassert 斷言句語格式及用法很簡單。在沒完善乙個程式之前,我們不知道程式在 會出錯,與其讓它在執行最崩潰,不如在出現錯誤條件時就崩潰,這時候就需要assert斷言的幫助。本文主要是講assert斷言的基礎知識。python as...
python assert斷言函式
python assert斷言是宣告布林值必須為真的判定,如果發生異常就說明表示式為假。可以理解assert斷言語句為raise if not,用來測試表示式,其返回值為假,就會觸發異常。self.assertequal a,b,msg msg 判斷a與.b是否一致,msg類似備註,可以為空 sel...