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!