Python assert 斷言
阿新 • • 發佈:2019-02-03
assert斷言語句用來宣告某個條件是真的,其作用是測試一個條件(condition)是否成立,如果不成立,則丟擲異常。
assert一般用法:
assert condition如果condition為false,就raise一個AssertionError出來。邏輯上等同於:
if not condition:
raise AssertionError()
另一種使用方法:
assert condition,expression
如果condition為false,就raise一個描述為 expression 的AssertionError出來。邏輯上等同於:if not condition:
raise AssertionError(expression)
assert使用示例:
# -*- coding: utf-8 -*-
v1 = 1
v2 = 2
assert (v1 < v2)
# assert (v1 > v2)
assert (v1 > v2),'{0} is not bigger than {1}'.format(v1,v2)
以上程式碼丟擲異常:
Traceback (most recent call last): File "xxx", line 8, in <module> assert (v1 > v2),'{0} is not bigger than {1}'.format(v1,v2) AssertionError: 1 is not bigger than 2
斷言跟異常的區別:
異常處理用於對程式發生異常情況的處理,增強程式的健壯性和容錯性。
對一個函式而言,一般情況下,斷言用於檢查函式輸入的合法性,要求輸入滿足一定的條件才能繼續執行;
在函式執行過程中出現的異常情況使用異常來捕獲。