【发布时间】:2011-04-13 08:43:56
【问题描述】:
给定一个函数:
def func(f1, kw='default'):
pass
bare_argspec = inspect.getargspec(func)
@decorator
def func2(f1, kw='default'):
pass
decorated_argspec = inspect.getargspec(func2)
我怎样才能创建一个像bare_argspec == decorated_argspec 这样的装饰器?
(至于为什么,调用装饰函数的框架会进行argspec检查以选择传入的内容,所以装饰器必须保留相同的argspec才能玩得好。当我在#python上提出这个问题时,我关于框架为什么糟糕的长篇演讲,这不是我想要的;我必须在这里解决问题。另外,我也只是对答案感兴趣)
【问题讨论】:
-
SyntaxError: invalid syntax - 我想你的意思是
def func(...
标签: python reflection decorator inspect