2 Stimmen

Immobilienmakler

Ich habe eine Eigenschaft Dekorateur so:

def Property(f):  
    """
    Allow readable properties without voodoo.
    """
    fget, fset, fdel = f()
    fdoc = f.__doc__
    return property(fget, fset, fdel, fdoc)

Wird (zum Beispiel) so verwendet:

    @Property
    def method():
        """"""
        def fget(self):
            return some expression...
        return fget, None, None

Also meine Frage ist über die Python Weg, dies zu tun. Pydev beschwert sich über

"Methode method s erster Parameter"

Und pylint gibt mir

Methode hat kein Argument

Ich weiß, ich kann diese Fehlermeldung in pydev deaktivieren, aber Im wundern, wenn es eine bessere Möglichkeit, Methoden zu verwalten, die nicht selbst als Parameter, etwas, das ich besser tun kann.

10voto

zeekay Punkte 49550

Sie könnten verwenden @staticmethod um eine Methode zu erstellen, die kein implizites erstes Argument erhält. Ist nicht Pythons @Eigentum Decorator bereits das tun, was Sie wollen?

class Foo(object):
    @property
    def bar(self):
        return 'foobar'

>>> foo = Foo()

>>> foo.bar
<<< 'foobar'

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X