Я новичок в python и пытаюсь прочитать исходный код Bottle.py
В документе мы должны
from bottle import route, run
использовать бутылку.
Я пытаюсь прочитать исходный код, где маршрут - это просто функция, определенная в строке 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 приложение вызывается, но приложение определяется в строке 3325
app = default_app = AppStack()
поэтому, когда вызывается функция make_default_app_wrapper, не должно быть объекта с именем app (наверное?), так как же возвращаемая функция знает, на что указывает приложение? Я что-то не так понял?