我已经编写了一个decorator函数,当我装饰到一个普通函数时,它工作得很好,但是当我装饰到类中的一个成员函数时,它的抛出类型错误:print_cmd()正好接受2个参数(给定1个参数)
decorator函数可以很好地与普通函数配合使用,但对于类的成员函数却不起作用
ss=[]
def deco(func):
def new_func(*args, **kwargs):
for i in new_arg:
"Do some operation"
return func(','.join(ss))
return new_func
class aaa:
@deco
def print_cmd(self,cmd):
print cmd
ii=aaa()
ii.print_cmd('hello,ff,are')
TypeError:print_cmd()正好接受2个参数(给定1个)
为了使用原始参数正确调用包装函数,请尝试以下代码:
原始代码使用单个字符串参数调用包装函数,而不是原始函数的参数:
相关问题 更多 >
编程相关推荐