我想在定义装饰器时禁止Eclipse警告。
例如:
def tool_wrapper(func):
def inner(self):
cmd="test"
cmd+=func(self)
return inner
@tool_wrapper
def list_peer(self):
return "testing "
我在装饰器定义上收到警告: "方法' tool_wrapper'应该将self作为第一个参数
我在一个类中定义了装饰器,所以这是它正常工作的唯一方法。
由于
答案 0 :(得分:1)
只需在类外部定义装饰器并将实例作为参数传递,它就可以正常工作。
def tool_wrapper(func):
def inner(inst): # inst : instance of the object
cmd="test"
cmd+=func(inst)
return cmd
return inner
class Test():
def __init__(self):
pass
@tool_wrapper
def list_peer(self):
return "testing "
if __name__ == '__main__':
t = Test()
print t.list_peer()
此脚本打印testtesting