python錯誤異常處理,測試模組以及常用斷言方法

2021-10-02 15:23:41 字數 2200 閱讀 8850

錯誤判斷,try

try

: x =5/

0print

(x)except zerodivisionerror as e:

print

('不能除零'

,e)except

:print

('其他錯誤'

)else

:print

('沒有異常'

)#測試完有無異常,檔案或資料庫需要關閉,用finally:(不管有無異常都要執行)

f =open

('data.txt'

)try

: f.read(

)except

:print

('檔案操作遇到錯誤!'

)finally

: f.close(

)

測試

建立類模組

class

coder

:def

__init__

(self,name)

: self.name = name

self.skills =

defget_skill

(self,skill)

:def

show_skills

(self)

:print

('掌握技能'

)for skill in self.skills:

print

('-'

,skill)

建立測試模組,測試類中函式功能

import unittest

from coder import coder

class

skilltextcase

(unittest.testcase)

:#setup():初始化函式,但測試例項很多時,可以使用,不用去測試函式中建立值

defsetup

(self)

: self.c = coder(

'tom'

) self.c.skills =

['python'

,'dqn'

]def

skilltextin

(self)

:# skill_text = coder.get_skill('python')

# skill_text = coder.get_skill('dqn')

self.assertin(

'python'

,self.c.skills)

#斷言if __name__ ==

'__main__'

: unittest.main(

)

常用assert斷言方法

import unittest

person =

nember =[1

,2,3

,4,5

,6]s =

'hahahahaha'

class

testassert

(unittest.testcase)

:def

test_assert_method

(self)

:#self.assertequal('mateng',person.get('name'))

#self.asserttrue('haha' in s)

#self.assertin(3,nember)

#self.assertalmostequal(3.3,1.1+2.2)

#self.assertis(true + 1, 2)

#self.assertisnone(person.get('***',none))

#self.assertisinstance(s,str)

self.assertgreater(nember[5]

,nember[3]

)if __name__ ==

'__main__'

: unittest.main(

)

Python 錯誤與異常處理

python 有兩種錯誤型別 1 語法錯誤 syntax errors 2 異常 exceptions 語法錯誤就不說了 關於異常處理 用try except 首先try 和 except 之間的 首先被執行,如果沒有異常,則except語句將會被忽略,如果出現異常,則try下的語句將會被忽略,直接...

Python 的錯誤和異常處理

python 的語法錯誤或者稱之為解析錯,如下 while true print hello world file line 1,in while true print hello world syntaxerror invalid syntax 在此例中,函式 print 被檢查到有錯誤,是它前面...

python 錯誤異常的簡單處理

常見錯誤型別 indentationerror 縮排錯誤 valueerror 值錯誤 try 語句 語句無異常則執行語句,語句有異常執行except except 異常名 print 異常說明 try 執行 塊1 except 塊1異常執行 else 塊1無異常執行 finally 不論是否異常都...