Der @property-Dekorator von Python wird verwendet, um eine Klassenmethode in einen Klasseneigenschaftsaufruf umzuwandeln, und dann erstellt @property selbst einen weiteren Dekorator, um der Eigenschaft mit einer Methode einen Wert zuzuweisen. Im Folgenden werden die Lese-/Schreibattribute sowie die schreibgeschützten und schreibgeschützten Attribute der Klasse festgelegt, nachdem @property in der Klasse verwendet wurde.
Die all-Methode legt ein Lese-/Schreibattribut fest. Sie können dieses Attribut festlegen oder lesen, wie in Zeile 28 gezeigt. Wenn die Methode __init__() nicht definiert ist, können Sie dieses Attribut nur zuerst festlegen. um dieses Attribut zu verwenden. Wenn Sie in Zeile 32 den Wert des Schreibattributs wissen möchten, wird ebenfalls ein Fehler gemeldet. In Zeile 34 gibt es keine Möglichkeit, dem schreibgeschützten Systemattribut weiterhin Werte zuzuweisen. Nach der Verwendung von @property können Python-„private Variablen“ natürlich nicht wirklich privat sein, aber sie können auch durch @property erreicht werden. Ich werde später lernen und schreiben.
class UseProperty(object): def __init__(self): self._all = 233 @property def all(self): return self._all @all.setter def all(self, v): self._all = v @property def readonly(self): return self._all @property def write(self): raise AttributeError('This is not a readonly attribute.') @write.setter def write(self, value): self._write = value p = UseProperty() print p.all p.all = 100 print p.all p.write = 233 # print p.write print p.readonly # p.readonly = 10
Das obige ist der detaillierte Inhalt vonEinführung in die grundlegende Verwendung von Eigenschaftsdekoratoren in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!