1

私はpythonが初めてで、 bottle.py ソースコードを読み込もうとしています

ドキュメントでは、

from bottle import route, run

ボトルを使用する。

route が2443行目で定義された単なる関数であるソースコードを読み込もうとしました

# Shortcuts for common Bottle methods.
# They all refer to the current default application.

def make_default_app_wrapper(name):
    ''' Return a callable that relays calls to the current default app. '''
    @functools.wraps(getattr(Bottle, name))
    def wrapper(*a, **ka):
        return getattr(app(), name)(*a, **ka)
    return wrapper

route = make_default_app_wrapper('route')

make_default_app_wrapper で app が呼び出されますが、app は 3325 行で定義されています

app = default_app = AppStack()

したがって、関数 make_default_app_wrapper が呼び出されると、app というオブジェクトは存在しないはずです (推測しますか?)。では、返された func は、アプリが何を指しているのかをどのように知るのでしょうか? 私は何か間違っていますか?

4

1 に答える 1