お世話になっております。
現在,pythonで画像処理を行うプログラムを書いていたところ,関数だけで十分だと思っていたら,開いた画像のパスを画像処理時に保持しなければならないということに気づき,モジュールからクラスに書き換えを行おうとしました。
このとき,pythonではクラスメソッドを定義すると,第一引数にselfを置かなければならず,多数のメソッドを置き替えなければいけなくなるので,staticメソッドデコレータで対処しました。ところが,デコレータをモジュールの中で多用しており,これが,クラスのプリプロセスで解析され,staticメソッドもクラスメソッドも呼び出せないため,デコレータの設計がうまくいかなくなってしまいました。
だともはやデコレータを使うのを諦めて,手動でクロージャを設定しているようですが,そう直すくらいであればクラスの概念的には汚い分け方になりそうでも,デコレータ専用のモジュールに切り出そうかと思っています。
最悪の場合,関数内に参照型の引数でlogを取り,そこに書き込んでしまうという方法で解決しようと思いますが関数を引数でとるデコレータの場合,どういう修正を加えるのが一般的なのでしょうか。
ご存知の方よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。