def log(func):
def wraper(*a, **kw):
return func(*a, **kw)
return wraper
@log
def f():
print 'f'
print locals()['f'] # - выдаст <function wraper at 0x00CBF3F0>. Как добраться до объекта реальной ф-и f?
def log(func):
def wraper(*a, **kw):
return func(*a, **kw)
return wraper
@log
def f():
print 'f'
print locals()['f'] # - выдаст <function wraper at 0x00CBF3F0>. Как добраться до объекта реальной ф-и f?
ostroglazскорее так:
Имеете ввиду что-то типа этого?def log(func):
def wraper(*a, **kw):
return func(*a, **kw)
return wraper
@log
def f():
print 'f'
a = locals()['f']
a()
from functools import wraps
def log(func):
@wraps(func)
def wraper(*a, **kw):
return func(*a, **kw)
return wraper
@log
def f():
print 'f'
print locals()['f']
>>> f.func_closure[0].cell_contents
<function f at 0x02BD3770>