エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
Pythonでデコレーターを継承先にも適用する - タロスカイ株式会社
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Pythonでデコレーターを継承先にも適用する - タロスカイ株式会社
こんにちは、Pythonエンジニア見習いです。最近TemplateMethodパターンを使っているコードのリファクタ... こんにちは、Pythonエンジニア見習いです。最近TemplateMethodパターンを使っているコードのリファクタリングをしていたところ、継承先にもデコレーターを適用したい場面に遭遇しました。その時、単純に継承元に適用するだけではうまくいかず、工夫が必要でした。今回はPythonでデコレーターを継承先にも適用する方法を皆様に紹介したいと思います。 なぜ単純に継承元に適応するだけではダメなのか 継承元の関数は継承先の関数はたとえ名前が同じであってもそれが指す関数オブジェクトは別物です。よって継承元でデコレーターを適用した場合、継承先ではそのデコレーターの適用された継承元の関数は継承先の同名の関数で上書きされます。最終的に継承先の関数ではデコレーターの適用されていない関数が残ります。 どうやったら継承先にデコレーターを適用できるのか メンバ関数がデコレートされるタイミングはクラス(インスタン