1. 程式人生 > >Python assert斷言異常語句格式及用法

Python assert斷言異常語句格式及用法

使用assert斷言是學習python一個非常好的習慣,assert斷言句語格式及用法很簡單。在沒完善一個程式之前,我們不知道程式在哪裡會出錯,與其讓它在執行最崩潰,不如在出現錯誤條件時就崩潰,這時候就需要assert斷言的幫助。本文主要是講assert斷言的基礎知識。

assert斷言的作用

assert斷言是宣告其布林值必須為真的判定,如果發生異常就說明表達示為假。可以理解assert斷言語句為raise-if-not,用來測試表示式,其返回值為假,就會觸發異常

assert斷言語句的語法格式

assert expression
assert 表示式

下面做一些assert用法的語句供參考:
assert 1==1
assert 2+2==2*2
assert len(['my boy',12])<10
assert range(4)==[0,1,2,3]

如何為assert斷言語句新增異常引數

assert的異常引數,其實就是在斷言表示式後新增字串資訊,用來解釋斷言並更好的知道是哪裡出了問題。格式如下:
assert expression [, arguments]
assert 表示式 [, 引數]


使用斷言的最佳時機偶爾會被提起,通常是因為有人誤用,因此我覺得有必要寫一篇文章來闡述一下什麼時候應該用斷言,為什麼應該用,什麼時候不該用。

對那些沒有意識到用斷言的最佳時機的人來說,Python的斷言就是檢測一個條件,如果條件為真,它什麼都不做;反之它觸發一個帶可選錯誤資訊的AssertionError。如下例所示:

1 py> x 
= 23
2 py> assert x > 0"x is not zero or negative"
3 py> assert x%2 == 0"x is not an even number"
4 Traceback (most recent call last):
5 File "<stdin>", line 1in <module>
6 AssertionError: x is not an even number