Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich Klassen in Python dynamisch Eigenschaften hinzufügen?

Wie kann ich Klassen in Python dynamisch Eigenschaften hinzufügen?

Linda Hamilton
Linda HamiltonOriginal
2024-11-11 04:07:02351Durchsuche

How Can I Dynamically Add Properties to Classes in Python?

Eigenschaften dynamisch zu Klassen hinzufügen

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn