python assert斷言函式

2021-09-26 20:33:27 字數 2680 閱讀 4977

python assert斷言是宣告布林值必須為真的判定,如果發生異常就說明表示式為假。

可以理解assert斷言語句為raise-if-not,用來測試表示式,其返回值為假,就會觸發異常。

self.assertequal(a,b,msg=msg)   #判斷a與.b是否一致,msg類似備註,可以為空

self.assertnotequal(a,b,msg=msg)  #判斷a與b是否不一致

self.asserttrue(a,msg=none)    #判斷a是否為true

self.assertfalse(b,msg=none)   #判斷b是否為false

self.assertalmostequal(a,b,places=none,msg=none,delta=none)   #該判斷過程有點複雜,判斷過程如下

注:places與delta不能同時存在,否則出異常

#若a==b,則直接輸入正確,不判斷下面的過程

#若delta有數,places為空,判斷a與b的差的絕對值是否<=delta,滿足則正確,否則錯誤

#若delta為空,places有數,判斷b與a的差的絕對值,取小數places位,等於0則正確,否則錯誤

#若delta為空,places為空,預設賦值places=7判斷

例 assertalmostequal(2,2) 正確,

assertalmostequal(5,2,delta=4) 正確

assertalmostequal(5,2,delta=2) 錯誤

assertalmostequal(2,2.005,places=1) 正確

assertalmostequal(2,2.05,places=3) 錯誤

self.assertnotalmostequal(a,b,places=none,msg=none,delta=none)  同上,但判斷相反

注,delta與places不能同時存在,否則丟擲異常

例  assertnotalmostequal(2,2) 錯誤

assertnotalmostequal(a,b,delta=c)  #a不等於b 同時 a-b>c 則正確,否則錯誤

assertnotalmostequal(a,b,places=2)

#a不等於b 同時|b-a|*0,01 不等於0 則正確,否則錯誤

self.assertsequenceequal  #有空在研究,原始碼很長

self.assertlistequal #有空研究

self.asserttupleequal #有空在研究

self.assertsetequal #有空在研究

self.assertin(a,b) 判斷a in b是否成立,正確則true,否則為false

例: assertin(「2」 in 「23」)  成功

assertin(「1」 in 「23」)  失敗

self.assertnotin(a,b) 判斷a in b是否成立,不成立則true 否則 false

例:assertin(「2」 in 「23」)  失敗

assertin(「1」 in 「23」)  成功

self.assertis(a,b) 判斷a 與b的物件是否相同,成立則true,否則false

注,判斷是否同一物件  id(a) 若id相同,則為同一物件

例 a,b=1,1.0

assertls(a,b)  失敗

a,b=1,1

assertls(a,b)  成功

self.assertisnot(a,b) 判斷a 與b的物件是否相同,不成立true,否則false

self.assertdictequal(a,b) #判斷字典a和字典b是否相等,a,b為字典

self.assertdictcontainssubset

self.assertitemsequal(a,b) #比較兩字串是否一致,同sorted(a)==sorted(b)

注:sorted排序,方法內部為,將a,b分別list,生成各自列表,在sorted排序在比對

self.assertmultilineequal(a,b) #比較a文字與b文字是否一致,即便多了個換行,也會區分

self.assertless(a,b) #判斷aself.assertlessequal  #判斷a<=b 成立則通過,否則失敗

self.assertgreater  #判斷a>b 成立則通過,否則失敗

self.assertgreaterequal  #判斷a>=b 成立則通過,否則失敗

self.assertisnone(obj=」」) #判斷obj=none 成立則通過,否則失敗

self.assertisnotnone #判斷obj=none 成立則失敗,否則通過

self.assertisinstance(a,b) #判斷a的資料型別是否為b,isinstance(a,b) 成立則通過,否則失敗

self.assertnotisinstance  #判斷同上相反

self.assertraisesregexp  #正則判斷匹配,沒仔細看,過程複雜

self.assertregexpmatches(a,b) #正則匹配 同re.search(b,a)匹配有則成功,否則失敗

注:a為匹配的正規表示式,必須字元型,b 為要匹配的內容

self.assertnotregexpmatches #同上,判斷相反

Python assert 斷言函式

使用assert斷言是學習python乙個非常好的習慣,python assert 斷言句語格式及用法很簡單。在沒完善乙個程式之前,我們不知道程式在 會出錯,與其讓它在執行最崩潰,不如在出現錯誤條件時就崩潰,這時候就需要assert斷言的幫助。本文主要是講assert斷言的基礎知識。python a...

python assert斷言用法

使用assert斷言是學習python乙個非常好的習慣,pythonassert 斷言句語格式及用法很簡單。在沒完善乙個程式之前,我們不知道程式在 會出錯,與其讓它在執行最崩潰,不如在出現錯誤條件時就崩潰,這時候就需要assert斷言的幫助。本文主要是講assert斷言的基礎知識。python as...

python assert斷言語句

python assert斷言是宣告其布林值必須為真的判定,如果發生異常就說明表達示為假。可以理解assert斷言語句為raise if not,用來測試表示式,其返回值為假,就會觸發異常。語法 assert 表示式 可以看到當表示式為真值時,程式正常執行,當為假值時,丟擲assertionerro...