我想要一个装饰器,将is参数添加为基础函数的属性,然后返回该函数本身。当我查看模块时,功能foo已删除。它甚至没有显示。
def addarg(x):
def decorator(func):
func.x = x
return func
@addarg(17)
def foo():
pass
print(foo.x) # should print 17
基于@Karl的注释,您的代码需要添加一行-
def addarg(x):
def decorator(func):
func.x = x
return func
return decorator # <-- Add this line
@addarg(17)
def foo():
pass
print(foo.x)
这就是所有人!