python-assert斷言函式用法
阿新 • • 發佈:2018-12-09
0.摘要
本文介紹了assert的用法,以及使用assert判斷兩連個array陣列是否相等。
1.斷言函式作用
斷言函式是對錶達式布林值的判斷,要求表示式計算值必須為真。可用於自動除錯。
如果表示式為假,觸發異常;如果表示式為真,不執行任何操作。
2.斷言函式
函式形式:
assert(condition)
if not condition:
raise AssertionError()
函式舉例:
下面的程式中,assert()中表達式都為真,故程式正常執行,不會報錯,也不會有輸出。
assert(1 == 1) assert(5 > 1) a = "hello" b = "hello" assert(a == b)
當我們將condition設定為1 > 100 時,這個條件為假,這時候程式便會報錯:
assert(1 > 100)
3.使用assert判斷陣列是否相等
當我們的陣列是list型別的時候,可直接進行比較。如下我們使用assert(a==b)判斷a,b是否相等,可以順利通過:
a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
b = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
assert(a == b)
但當a,b為numpy.array型別時,需要採用下列方式:
import numpy as np a = np.arange(10) b = np.arange(10) assert(a.all() == b.all())