Python的學習(十一)----異常處理(2)

linda1000發表於2012-10-24

異常處理Assert(2)

Python中assert的運用於C語言中的assert()函式相似,

主要功能在於確保程式中的某個條件一定為真時,才能讓程式執行,否則終止程式執行並觸發AssertionError錯誤

其可以視為相對高階點的異常處理

語法:assert expression1, expression2 (不用小括號)

其中,expression1 表示程式繼續執行的判斷條件,為真則繼續,為假則程式終止,並丟擲expression2給出的描述資訊

>>> a=10
>>> assert a<=10, "Error"
>>> a = 11
>>> assert a<=10, "Error"
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AssertionError: Error

等價於:

if a>10: raise AssertionError("Error")

說明:

assert語句一般用於程式編寫過程中的除錯,將其新增到Python原始碼中後,未避免影響編譯效能,

建議儘量去除assert語句,並將__debug__這個內建變數設定為False,即在執行命令列中新增引數

python -0 test.py

(這其實與C語言中的編譯引數-d類似)



相關文章