Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich mithilfe von String-Namen auf Python-Objektattribute zugreifen und diese ändern?

Wie kann ich mithilfe von String-Namen auf Python-Objektattribute zugreifen und diese ändern?

Mary-Kate Olsen
Freigeben: 2024-12-29 07:19:13
Original
649 Leute haben es durchsucht

How Can I Access and Modify Python Object Attributes Using String Names?

Zugriff auf Objektattribute über String-Namen

In Python erfolgt der Zugriff auf Attribute eines Objekts normalerweise über den Punktoperator. Es kann jedoch erforderlich sein, auf Attribute mithilfe einer Zeichenfolge zuzugreifen, die dem Attributnamen entspricht. Dies kann mit den integrierten Funktionen getattr und setattr erreicht werden.

Um den Wert eines Attributs anhand seines Zeichenfolgennamens abzurufen, verwenden Sie getattr. Zum Beispiel:

class Test:
    def __init__(self):
        self.attr1 = 1
        self.attr2 = 2

t = Test()
x = "attr1"
x_value = getattr(t, x)
Nach dem Login kopieren

Um den Wert eines Attributs mithilfe seines Zeichenfolgennamens festzulegen, verwenden Sie setattr. Zum Beispiel:

setattr(t, 'attr1', 21)
Nach dem Login kopieren

Beachten Sie, dass diese Technik auch zum Aufrufen von Methoden aus Zeichenfolgennamen verwendet werden kann, indem auf die Methode zugegriffen und sie dann normal aufgerufen wird.

Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe von String-Namen auf Python-Objektattribute zugreifen und diese ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage