當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python classmethod用法及代碼示例


用法:

@classmethod

將方法轉換為類方法。

類方法接收類作為隱式第一個參數,就像實例方法接收實例一樣。要聲明一個類方法,請使用以下習慣用法:

class C:
    @classmethod
    def f(cls, arg1, arg2): ...

@classmethod 表單是一個函數裝飾器 - 有關詳細信息,請參閱函數定義。

可以在類(例如 C.f() )或實例(例如 C().f() )上調用類方法。該實例被忽略,除了它的類。如果為派生類調用類方法,則派生類對象作為隱含的第一個參數傳遞。

類方法不同於 C++ 或 Java 靜態方法。如果您想要這些,請參閱本節中的staticmethod()。有關類方法的更多信息,請參閱標準類型層次結構。

在 3.9 版中更改:類方法現在可以包裝其他說明符property.

在 3.10 版中更改:類方法現在繼承方法屬性(__module__,__name__,__qualname__,__doc____annotations__) 並有一個新的__wrapped__屬性。

相關用法


注:本文由純淨天空篩選整理自python.org大神的英文原創作品 classmethod。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。