1. 程式人生 > >python-assert斷言函式用法

python-assert斷言函式用法

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())