【发布时间】:2014-01-14 06:22:05
【问题描述】:
我正在尝试使用类装饰器来装饰类方法。例如
class MyDecorator(object):
def __init__(self,param1):
self.param1 = param1
# do some action with param1
def __call__(self,func):
def wrapped(*args,**kwargs):
print "in wrapper:"
func(*args,**kwargs)
return wrapped
还有我的一些班级:
class A:
@MyDecorator("Blablabla")
def func1(arg1,arg2,arg3):
print (arg1,arg2,arg3)
但是当我做下一个动作时:
a = A()
a.func(1,2,3)
我收到以下错误:
TypeError: func1() takes exactly 3 arguments (4 given)
【问题讨论】:
-
你打电话给
a.func还是a.func1?
标签: python python-2.x