当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。