Beim Programmieren kann es notwendig sein, Eigenschaften dynamisch zu Klassen hinzuzufügen. Dies kann durchgeführt werden, um Scheinobjekte zu erstellen, die das Verhalten realer Objekte nachahmen, beispielsweise Datenbank-Ergebnismengen.
Man könnte dies zunächst versuchen, indem man Attribute festlegt und dann property() verwendet, um Eigenschaften zur Laufzeit zu erstellen. Dies führt jedoch dazu, dass stattdessen ein Eigenschaftsobjekt zurückgegeben wird.
Der richtige Weg, eine Instanzeigenschaft zur Laufzeit hinzuzufügen, besteht darin, sie der Klasse selbst hinzuzufügen. Dies kann mithilfe der folgenden Syntax erreicht werden:
Foo.property_name = property(lambda self: self.attribute_name)
In diesem Beispiel ist Foo die Klasse, zu der die Eigenschaft hinzugefügt wird, Eigenschaftsname ist der Name der Eigenschaft und Attributname ist der Name der Eigenschaft Attribut, auf das die Eigenschaft zugreift.
Das obige ist der detaillierte Inhalt vonWie kann ich Klassen in Python dynamisch Eigenschaften hinzufügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!