Изменить аргументы функции при вызове
Есть функция, внутри которой происходят один или несколько вызовов другой функции
def func(app):
other_func('/test/', app)
other_func('/test2/', app)
Могу ли я при вызове функции func изменить аргументы вызываемых ей функций? Например добавить путям префикс.
def discover(app, func, prefix):
if prefix:
pass # Тут должна быть логика, которая вызывает func с измененными аргументами
else:
func(app)
Ответы (1 шт):
Автор решения: eri
→ Ссылка
Если функцию определить внутри, то она увидит то что во внешней функции
def discover(app, func, prefix):
prefix = prefix or '/'
def func(app):
nonlocal prefix
other_func(prefix, app)
func(app)