6 異常處理 物件

2021-10-23 10:16:51 字數 4061 閱讀 2392

一、異常處理&除錯

異常:在執行**過程中遇到的任何問題,帶有error字樣的都是異常

#異常處理:我們對**中所有可能會出現的異常 進行的處理

#1、處理某個錯誤 2、處理某種型別的錯誤 3、有錯就抓

#try..except

#警察try:

"""嫌疑人

"""#警力出動 (把錯誤抓起來 存到變數a中)

except exception as a:

print("逮捕成功")

print("錯誤為:".format(a))

#2、try..except..finally

#警察try:

"""嫌疑人

"""#警力出動 (把錯誤抓起來 存到變數a中)

except exception as a:

print("逮捕成功")

print("錯誤為:".format(a))

#我就是天下第一 你犯錯不犯錯 我都要執行

finally:

print("最強王者")

#3、try except else

try:

"""嫌疑人

"""#警力出動 (把錯誤抓起來 存到變數a中)

except exception as a:

print("逮捕成功")

print("錯誤為:".format(a))

#跟try下面的**是一起的 你好我就好 你不好我就不好了

else:

print("有你真好")

二、類

#python 類的語法   關鍵字 class

#類名規範:數字字母下劃線組成 不能以數字開頭 首字母大寫 駝峰命名

#類的概念 具有某一類共同屬性和特性的事物

#class 類名:

#類屬性

#類方法

#例項化物件 類名()

#例項具有類裡面的所有屬性和方法的使用許可權

#呼叫屬性 例項.屬性

#呼叫方法/函式名:例項名。方法名() 例項.函式名

class testengineer:

#屬性值

age="20-35years old"

salary="8k"

experience="2年及以上"

#方法/函式

#self固定的佔坑符 類裡面的方法 都必須帶self這個引數

def test_function(self):#例項方法

print("功能測試")

# print(self.name + "功能測試")支援

def test_api(self):

print("介面測試")

@classmethod#類方法

def test_auto(cls):#類本身

print("自動化測試")

# print(self.name + "自動化測試")#不支援

@staticmethod#靜態方法

def test_performance():#普通函式 可傳引數也可不傳引數

print("效能測試")

# print(self.name + "效能測試") # 不支援

t1=testengineer()#例項

print("測試工程師的年齡範圍是:",t1.age)

#類裡面的方法是分為三種

#1、例項方法:意味著 這個方法 只能例項來呼叫

testengineer().test_function()#隱式的傳遞 例項 #方法一

testengineer.test_api(t1)#顯示的傳遞 例項 不建議使用 #方法二

#2、類方法 @classmethod

testengineer.test_auto()#方法一

t1.test_auto()#方法二

#3、靜態方法 @staticmethod

testengineer.test_performance()#方法一

t1.test_performance()#方法二

#a、相同點:例項方法self 類方法cls 靜態方法(普通方法) 例項和類名都可以直接呼叫

#b、不同點:靜態方法和類方法 不可以呼叫類裡面的屬性值 如果你要引數 請你自己傳遞引數

#c、什麼時候定義為靜態和類方法 當你的某個函式與其他的類函式 類屬性沒有關係時就可以定義為靜態方法和類方法

class testengineer:

#初始化函式

def __init__(self,name,age,salary,experience):#可以有預設值 一般不傳動態引數和關鍵字引數

self.name=name

self.age=age

self.salary=salary

self.experience=experience

def test_function(self,grade):#形參 #可以有預設值

print("功能測試".format(grade))

def test_api(self):

print("介面測試")

def test_pressure(self,*args):

for item in args:

print("壓力測試",format(item))

def test_weak_network(self,necessity):

return ("壓力測試{}".format(necessity))

@classmethod

def test_auto(cls):

print("自動化測試")

@staticmethod

def test_performance():

print("效能測試")

#初始化函式

t1=testengineer("xinxin","20","4k","1年")

t2=testengineer("binbin","20","4k","2年")

t3=testengineer("huahua","20","8k","4年")

t4=testengineer("guagua","20","11k","4年")

t5=testengineer("biebie","20","3k","1年")

t6=testengineer("zhazha","30","13k","8年")

t1.test_auto()

t2.test_performance()

t3.test_api()

t4.test_function("高")

t5.test_pressure("高階","熟練")

print(t6.test_weak_network("可選項"))

#什麼時候用初始化函式?

#想用就用

#如果某個屬性值是多個函式共用的 皆可以用初始化函式

class testengineer:

#初始化函式

def __init__(self,name,age,salary,experience):

self.name=name

self.age=age

self.salary=salary

self.experience=experience

def test_function(self,grade):

print("功能測試".format(grade))

def test_pressure(self, *args):

for item in args:

print(self.name+"會做壓力測試". format(item))

def test_api(self,*args):

self.test_pressure(*args)

print("介面測試")

t1=testengineer("xinxin","20","4k","1年")

t1.test_api("可選項","有最好")

物件導向及異常處理

算術運算子過載 class number def init self,num self.num num 物件出現在 左邊時會自動觸發 def add self,other print add return self.num other 物件出現在 右邊是會自動觸發 def radd self,oth...

Result物件 統一異常處理

統一異常碼介面定義 author 王洪玉 date 2018 11 11 public inte ce exceptionenum 全域性異常錯誤碼 public enum resultmsgenum implements exceptionenum override public integer ...

Result物件 統一異常處理

統一異常碼介面定義 author 王洪玉 date 2018 11 11 public inte ce exceptionenum 全域性異常錯誤碼 public enum resultmsgenum implements exceptionenum override public integer ...