2016-07-26 25 views
1

Ich möchte Eclipse Warnungen bei der Definition von Dekoratoren unterdrücken.Unterdrücken Warnung Eclipse bei der Entwicklung mit Pydev

Zum Beispiel:

def tool_wrapper(func): 
    def inner(self): 
     cmd="test" 
     cmd+=func(self) 
    return inner 

@tool_wrapper 
def list_peer(self): 
    return "testing " 

ich auf Dekorateur Definition erhalten Warnung: „Die Methode‚tool_wrapper‘sollte selbst als ersten Parameter haben

ich den Dekorateur innerhalb einer Klasse definieren, so ist dies der nur so ist es richtig funktioniert.

Dank

+0

Sie einen Dekorateur innerhalb einer Klasse definiert? Warum? –

Antwort

1

einfach Ihren Dekorateur außerhalb der Klasse definieren und den Pass Beispiel als Argument, es wird genauso gut funktionieren.

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() 

Dieses Skript druckt testtesting

+0

Danke, es funktioniert gut! Ist es korrekt, dass Python-Syntax eine Funktion außerhalb der Klasse in einer Moduldatei verwendet? –

+0

Ich denke schon, solange Sie die notwendigen Importe machen – BusyAnt