http://blog.csdn.net/hunyxv/article/details/52737339
使用assert斷言是學習python一個非常好的習慣,python assert 斷言句語格式及用法很簡單。在沒完善一個程序之前,我們不知道程序在哪里會出錯,與其讓它在運行最崩潰,不如在出現錯誤條件時就崩潰,這時候就需要assert斷言的幫助。本文主要是講assert斷言的基礎知識。
python assert斷言的作用
python assert斷言是聲明其布爾值必須為真的判定,如果發生異常就說明表達示為假。可以理解assert斷言語句為raise-if-not,用來測試表示式,其返回值為假,就會觸發異常。
assert斷言語句的語法格式
assert python 怎么用?
expression assert 表達式
- assert語句用來聲明某個條件是真的。
- 如果你非常確信某個你使用的列表中至少有一個元素,而你想要檢驗這一點,並且在它非真的時候引發一個錯誤,那么assert語句是應用在這種情形下的理想語句。
- 當assert語句失敗的時候,會引發一AssertionError。
下面做一些assert用法的語句供參考:
>>assert 1==1 >> assert 1 == 2 Traceback (most recent call last): File "<stdin>", line 1, in <module> AssertionError >>assert 2+2==2*2 >>assert len(['my boy',12])<10 >>assert range(4)==[0,1,2,3] >>> mylist = ['item'] >>assert len(mylist) >= 1 >>mylist.pop() 'item' >>assert len(mylist) >= 1 Traceback (most recent call last): File "<stdin>", line 1, in <module> AssertionError
如何為assert斷言語句添加異常參數
assert的異常參數,其實就是在斷言表達式后添加字符串信息,用來解釋斷言並更好的知道是哪里出了問題。格式如下:
assert expression [, arguments]
assert 表達式 [, 參數]
自定異常
class ShortInputException(Exception): '''自定義的異常類''' def __init__(self, length, atleast): #super().__init__() self.length = length self.atleast = atleast def main(): try: s = input('請輸入 --> ') if len(s) < 3: # raise引發一個你定義的異常 raise ShortInputException(len(s), 3) except ShortInputException as result:#x這個變量被綁定到了錯誤的實例 print('ShortInputException: 輸入的長度是 %d,長度至少應是 %d'% (result.length, result.atleast)) else: print('沒有異常發生.') main()