classmethod() Python 組み込み関数

組み込み関数 classmethod()

classmethod()
メソッドをクラスメソッドへ変換します。
クラスメソッドは、(C.f() のように) クラスから呼び出すことや、(C().f() のように) インスタンスから呼び出すことも可能です。
ただし、クラスメソッドは、C++や、Javaの静的メソッドとは異なります。

使用例

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

    def __init__(self, arg=0):
        self.arg = arg

    @classmethod
    def f(cls):
        return cls(9)

t = C.f()
print(t.arg)
# 実行結果 9

print(type(t))
# 実行結果 <class '__main__.C'>
よかったらシェアしてください!
目次