最終更新:2025-12-26 (金) 16:54:22 (24d)  

Python/デコレータ
Top / Python / デコレータ

ビルトイン

主なもの

@staticmethod

  • self / cls を受け取らない

@classmethod

  • 第一引数に cls を受け取る

@property

その他

PEP 318?

  • Decorators for Functions and Methods

Python 2.6

PEP 3129?: Python/クラスデコレータ?

  • デコレータが拡張されて関数だけでなクラスにも使えるようになりました。今やこのように書くのは合法です:
    @foo
    @bar
    class A:
      pass
    これは次と等価です:
    class A:
      pass
    
    A = foo(bar(A))

まとめ