共計(jì) 614 個(gè)字符,預(yù)計(jì)需要花費(fèi) 2 分鐘才能閱讀完成。
classmethod 是一種用于定義類方法的裝飾器。類方法與實(shí)例方法和靜態(tài)方法不同,它可以訪問類的屬性和調(diào)用類的其他方法,而不需要實(shí)例化類。classmethod 裝飾器將類方法與類綁定在一起,并允許它們?cè)诓粚?shí)例化類的情況下被調(diào)用。
使用 classmethod 裝飾器定義的方法通常用于執(zhí)行與類相關(guān)的操作,例如創(chuàng)建類實(shí)例的替代方法,返回類的屬性或執(zhí)行類級(jí)別的計(jì)算。常見的用例包括實(shí)現(xiàn)工廠方法,用于創(chuàng)建特定類型的對(duì)象,或者作為與類強(qiáng)相關(guān)的輔助函數(shù)。
下面是一個(gè)例子,展示了如何使用 classmethod 裝飾器定義和調(diào)用類方法:
class MyClass:
count = 0
def __init__(self):
MyClass.count += 1
@classmethod
def get_count(cls):
return cls.count
# 調(diào)用類方法
print(MyClass.get_count()) # 輸出:0
# 創(chuàng)建實(shí)例
obj1 = MyClass()
obj2 = MyClass()
# 再次調(diào)用類方法
print(MyClass.get_count()) # 輸出:2
在上面的例子中,get_count
是一個(gè)類方法,它可以直接通過類名來調(diào)用。在內(nèi)部,它訪問了類的屬性 count
并返回它的值。在創(chuàng)建類的實(shí)例時(shí),__init__
方法會(huì)自增 count
屬性的值。通過調(diào)用 get_count
方法,我們可以獲取到實(shí)例化 MyClass
類的次數(shù)。
丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!