私は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 は、アプリが何を指しているのかをどのように知るのでしょうか? 私は何か間違っていますか?