これはなぜ機能しませんか?どうすればそれを動作させることができますか?つまり、装飾された機能の中でどのようにアクセス可能にすることができますか?デコレータの機能を定義する
def decorate(f):
def new_f():
def gu():
pass
f()
return new_f
@decorate
def fu():
gu()
fu()
何とか定義された関数の辞書にguを追加する必要がありますか?または、fを呼び出す前に、fのローカル名前空間にguを追加できますか?
この例は無意味ですが、私は問題を説明するための最も簡単な例を挙げようとしています。私は何をしたいのかがはっきりしているはずです。私はデコレータ定義の関数を装飾された関数で使用するために定義したいと思います。 – Alex
@Alex:解決しようとしているより高いレベルの問題の説明を教えてください。たぶん誰かが全く違ったアプローチでよりクリーンなソリューションを提案するかもしれません。 – Ber