Skip to main content
 首页 » 编程设计

python之通过字符串名称获取装饰函数对象

2025年05月04日20pander-it

def log(func): 
    def wraper(*a, **kw):    
        return func(*a, **kw) 
    return wraper 
 
@log 
def f(): 
    print 'f' 
 
 
print locals()['f'] # - prints <function wraper at 0x00CBF3F0>. 

如何获得真正的 f 对象(不是装饰器包装)?

请您参考如下方法:

functools模块还提供了一个 wraps 装饰器,它确保包装函数看起来更像真正的函数:例如正确的名称、模块和文档字符串。