зачем нужны вложенные функции?
иными словами я не понимаю, в чем разница между декораторами @log и @log_1:
def log(func):
print('Enter in %s' % func.__name__)
func()
@log
def foo():
print(“We are inside foo”)
def log_1(func):
def wrappedFunc():
print('Enter in %s' % func.__name__)
return func()
return wrappedFunc
@log_1
def foo():
print(“We are inside foo”)
как вообще работают вложенные функции?