一谴餐、類方法
1)類屬性:
含義:類屬性就是針對類對象定義的屬性渗饮。
定義類屬性:使用賦值語句在class關(guān)鍵字下方可以定義類屬性
作用:類屬性用于記錄這個類相關(guān)的特征
2)類方法:
含義:類方法就是針對類對象定義的方法但汞。
使用:在類方法內(nèi)部可以直接訪問類屬性 或者調(diào)用其他的類方法
語法:
@classmethod
def 類方法名(cls):
pass
2.1類方法需要用修飾器@classmethod來標識,告訴python解釋器這是一個類方法
2.2類方法的第一個參數(shù)應該是cls
由哪一個類調(diào)用的方法互站,方法內(nèi)的cls就是哪一個類的引用
這個參數(shù)和實例方法的第一個參數(shù)是self類似
提示:使用其他名稱也可以私蕾,不過都習慣使用cls
2.3通過類名. 調(diào)用類方法,調(diào)用方法時胡桃,不需要傳遞cls參數(shù)
2.4在方法內(nèi)部:
可以通過 cls. 訪問類的屬性
也可以通過 cls. 調(diào)用其他的類方法
3)代碼示例
需求:
定義一個工具類
每件工具都有自己記得名字name
需求====》在類中封裝一個show_tool_count的類的方法踩叭,輸出使用當前這個類創(chuàng)建的對象個數(shù)。
代碼:
class Tool(object):
# 使用賦值語句定義類屬性,記錄所有工具對象的數(shù)量
# 初始數(shù)量是0
count = 0
@classmethod
def show_tool_count(cls):
# 顯示工具對象的總數(shù)
print("工具對象總數(shù) %d" % cls.count)
def __init__(self, name):
self.name = name
# 每增加一個工具對象容贝,讓類屬性的值加1
Tool.count += 1
# 創(chuàng)建工具對象
tool1 = Tool("扳手")
# 調(diào)用類方法
Tool.show_tool_count()
執(zhí)行結(jié)果:
二自脯、靜態(tài)方法
2.1封裝靜態(tài)方法情況:
在開發(fā)時,如果需要在類中封裝一個方法斤富,這個方法既不需要訪問實例屬性或者調(diào)用實例方法膏潮,也不需要訪問類屬性或者調(diào)用類方法,這個時候满力,可以把這個方法封裝成一個靜態(tài)方法焕参。
2.2 定義語法
@classmethod
def 靜態(tài)方法名():
pass
靜態(tài)方法需要用修飾器@staticmethod來標識,告訴解釋器這是一個靜態(tài)方法
靜態(tài)方法在定義時不需要指定第一個參數(shù)
調(diào)用靜態(tài)方法方式:不需要創(chuàng)建對象
類名.
代碼:
class Dog(object):
@staticmethod
def run():
print("狗狗想跑一跑")
# 通過類名.調(diào)用及靜態(tài)方法->不需要創(chuàng)建對象
Dog.run()
執(zhí)行結(jié)果:
更多相關(guān)Python教程可以移步去Python自學網(wǎng)從基礎(chǔ)入門免費課程開始油额,適合新手入門到精通全棧開發(fā)叠纷。