滕州盛揚網(wǎng)絡(luò)公司網(wǎng)站建設(shè)推廣優(yōu)化的含義是什么
類對象和實例對象
類對象就是我們定義的類。
在代碼執(zhí)行的時候,解釋器會自動創(chuàng)建類對象。
類對象的作用:
1 使用類對象創(chuàng)建實例對象
2 存儲類的一些特性,就是類里面定義的屬性
創(chuàng)建對象的過程也稱為實例化的對象。所以,類創(chuàng)建的對象也稱為實例對象,簡稱實例。
一般我們說的對象,默認(rèn)就是實例對象。而類對象,默認(rèn)說是類。
實例屬性和類屬性注意事項
1類屬性是在類的內(nèi)部直接定義的,類屬性是被該類的所有實例化對象共享的。
2實例的屬性是每個對象特有的,通常是在類的init方法中設(shè)置的。 類屬性很少使用。
3 實例對象使用屬性的時候,會先在實例屬性中查找,找不到再去類屬性中查找,再找不到會報錯。
4 在類中訪問類屬性,要用類名.屬性名 獲取
代碼示例:
class Tool:num = 0def __init__(self, name):self.name = nameTool.num += 1tool1 = Tool('t1')
tool2 = Tool('t2')
print(tool1.name, tool1.num)
方法分類
方法分為實例方法,類方法,靜態(tài)方法
1 實例方法:
如果方法中需要使用實例屬性,一定要定義為實例方法。
2 類方法
方法中不需要使用實例屬性,建議定義為類方法。語法:方法上寫@classmethod
,方法的參數(shù)寫為cls,表示類對象。不需要傳遞,python會自動傳類作為參數(shù)。
3 靜態(tài)方法:
方法中既不需要實例屬性,也不需要類屬性,可以定義為靜態(tài)方法。
語法:@staticmethod
注意:
實例和類都可以直接調(diào)用類方法和靜態(tài)方法
代碼示例:
class Tool:num = 0def __init__(self, name):self.name = name# 類方法@classmethoddef add(cls):cls.num += 1print(cls.num)# 靜態(tài)方法@staticmethoddef staticFn():print('static')# 實例方法def showName(self):print(self.name)tool1 = Tool('t1')
tool1.showName() # t1
tool1.staticFn() # static
tool1.add() # 1
Tool.add() # 2
Tool.staticFn() # static