3

Pythonデコレータのラッパーは、装飾された関数の引数にどのように到達しますか? 例えば:

def decorate(f):
    def wrapped_function(*args):
        print args
        f()
    return wrapped_function

@decorate
def my_function(*args):
    print("Hello world")

my_function("a")


# output
('a',)
Hello world

したがって、wrapd_function がクロージャーであることはわかっています。これは、my_function へのアクセスを上位スコープからの変数として保持しているためです。しかし、どのようにして理論上の議論をもたらすことができるでしょうか?

4

1 に答える 1