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...