共計 651 個字符,預計需要花費 2 分鐘才能閱讀完成。
classmethod 是一個裝飾器,用于聲明一個類方法。類方法可以通過類調用,也可以通過類的實例調用。
在使用 classmethod 裝飾的方法中,第一個參數通常被命名為 "cls",表示類本身。通過這個參數,我們可以在類方法中訪問類的屬性和調用其他類方法。
classmethod 常用的用途包括:
- 創建一個工廠方法,用于在不直接使用構造函數的情況下創建類的實例。
- 提供一個替代構造函數的方式,可以通過不同的方式初始化對象。
- 在方法中使用類的屬性和其他類方法,而不需要實例化對象。
下面是一個簡單的示例,演示了 classmethod 的用法:
class MyClass:
count = 0
def __init__(self, name):
self.name = name
MyClass.count += 1
@classmethod
def get_count(cls):
return cls.count
# 調用類方法
print(MyClass.get_count()) # 輸出: 0
# 創建類的實例
obj1 = MyClass("Object 1")
print(MyClass.get_count()) # 輸出: 1
obj2 = MyClass("Object 2")
print(MyClass.get_count()) # 輸出: 2
在上面的示例中,我們定義了一個類方法 get_count,它返回類屬性 count 的值。通過類名調用這個類方法可以獲取創建的對象數量。
注意,在類方法中,可以使用 cls 參數來訪問類的屬性,而無需實例化類的對象。
丸趣 TV 網 – 提供最優質的資源集合!
正文完