@foobar
def fact(n):
return n * fact(n-1)
Вызовы fact внутри самого fact будут происходить с декоратором или нет? Как там вообще идентификаторы лукапятся внутри объявления функции? Для самого названия функции есть какое-нибудь правило или нет?
А если так?
def fact(n):
return n * fact(n-1)
fact = foobar(fact)