帮助一个人出来似乎没有得到一个装饰工作与继承.将其分解为我的临时工作区中最简单的小例子.仍然似乎无法使其工作.
class bar(object):
def __init__(self):
self.val = 4
def setVal(self,x):
self.val = x
def decor(self, func):
def increment(self, x):
return func( self, x ) + self.val
return increment
class foo(bar):
def __init__(self):
bar.__init__(self)
@decor
def add(self, x):
return x
糟糕,名称“装饰”未定义.
好吧,@ bar.decor怎么样? TypeError:未绑定的方法“decor”必须使用bar实例作为第一个参数(取而代之的是函数实例)
好的,@ self.decor怎么样?名称“self”未定义.
好吧@ foo.decor?名称“foo”未定义.
AaaaAAaAaaaarrrrgggg …我做错了什么?