Ich habe ein Tutorial Buch für Python gelesen und es kurz über Eigenschaften diskutiert. Soweit ich weiß, leitet python bei Anforderung eines Klassenattributs die Anforderung an die property-Methode weiter, die das Attribut zurückgibt, damit der Code ausgeführt werden kann, bevor auf das Attribut zugegriffen wird. Aber warum ist das notwendig, wenn im folgenden Beispiel das Attribut v, das zurückgegeben wird, nicht einmal mit Punktnotation aufgerufen werden kann?Warum sollte ich den @property-Dekorator in Python verwenden?
@property
def value(self):
if self.is_face_up:
v = BJ_Card.RANKS.index(self.rank) + 1
if v > 10:
v = 10
else:
v = None
return v
_ „das Attribut zurückgegeben werden kann nicht einmal mit Punktnotation zugegriffen werden“ _ Was meinen Sie? 'YourClass(). Value' funktioniert gut. –
Ja, ich weiß jetzt, dass Sie Punkt-Notation auf der Methode verwenden können - wie die Variable v. Als ich die Frage schrieb, war ich verwirrt, weil ich die Variable v nicht durch Eingabe von MyClass.v bekommen konnte, aber jetzt weiß ich das das ist nicht notwendig, da Sie die Methode einfach aufrufen können. –