Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich Attribute in Python-Objekten dynamisch festlegen?

Wie kann ich Attribute in Python-Objekten dynamisch festlegen?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-01 14:39:17580Durchsuche

How Can I Dynamically Set Attributes in Python Objects?

Attribute dynamisch in Python festlegen

Angenommen, Sie haben ein Python-Objekt x und einen String s. Wie legen Sie das Attribut s programmgesteuert auf x fest, sodass auf das Attribut als x.myAttr zugegriffen werden kann?

Um dies zu erreichen, können Sie die integrierte Funktion setattr() verwenden, die die folgende Syntax hat:

setattr(object, name, value)

In diesem speziellen Szenario würden Sie es wie folgt verwenden:

setattr(x, attr, 'magic')

Dadurch wird das Attribut attr effektiv auf das Objekt x gesetzt auf den Wert „Magie“. Daher können Sie jetzt über x.myAttr auf dieses Attribut zugreifen.

Es ist wichtig zu beachten, dass dieser Ansatz besonders nützlich für das Caching von Aufrufen von x.__getattr__() sein kann. Beachten Sie jedoch, dass Sie diese Methode nicht direkt auf eine reine Objektinstanz anwenden können. Stattdessen wird es häufiger auf benutzerdefinierte Unterklassen von Objekten angewendet.

Das obige ist der detaillierte Inhalt vonWie kann ich Attribute in Python-Objekten dynamisch festlegen?. 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