【发布时间】:2016-12-16 05:12:57
【问题描述】:
我有一个代码:
from functools import wraps
def my_decorator(f):
@wraps(f)
def wrapper(*args, **kwargs):
print kwargs["name"] # Should display Dean Armada
print 'Calling decorated function'
return f(*args, **kwargs)
return wrapper
@my_decorator(name="Dean Armada")
def example():
"""Docstring"""
print 'Called example function'
example()
我想要实现的是让我的装饰器依赖 kwargs 参数作为它的所有参数。我上面的代码抛出了这个错误
my_decorator() got an unexpected keyword argument 'name'
【问题讨论】:
-
创建另一个接受
name参数的(外)层,并将其传递给wrapper。