Python: Wie man mehr als ein Argument an die Eigenschaft Getter übergibt?

Betrachten Sie das folgende Beispiel:

class A:
    @property
    def x(self): return 5

So, natürlich ruft die a = A(); a.x zurück 5

Aber vorstellen, dass Sie in der Lage sein wollen, ändern Sie die Eigenschaft x.
Auf diese Weise, zum Beispiel:

class A:
    @property
    def x(self, neg = False): return 5 if not neg else -5

Und rufen Sie es mit a = A(); a.x(neg=True)

Erheben wird ein TypeError: 'int' object is not callabledas ist ganz normal, da unsere x wird ausgewertet, wie 5.

So, ich würde gerne wissen, wie man übergeben kann, mehr als ein argument an die-Eigenschaft getter, wenn es überhaupt möglich ist.

InformationsquelleAutor der Frage Rizo | 2011-04-19

Schreibe einen Kommentar