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

Wie kann ich mithilfe von Strings auf Objektattribute in Python zugreifen und diese ändern?

Linda Hamilton
Freigeben: 2024-12-24 08:38:11
Original
314 Leute haben es durchsucht

How Can I Access and Modify Object Attributes in Python Using Strings?

Zugriff auf Objektattribute über Zeichenfolge

Stellen Sie sich ein Szenario vor, in dem Sie ein Objekt t und eine Zeichenfolge x haben, die einen Attributnamen von t darstellt. Wie können Sie den Wert dieses Attributs abrufen oder ändern?

Die Python-Sprache bietet praktische Mechanismen für diesen Vorgang:

getattr()- und setattr()-Funktionen:

Python bietet die integrierten Funktionen getattr() und setattr() für den dynamischen Zugriff auf und die Änderung von Objektattributen. Diese Funktionen haben die folgende Syntax:

getattr(object, attrname) # Retrieves the attribute value
setattr(object, attrname, value) # Sets the attribute value
Nach dem Login kopieren

Beispiel:

Im angegebenen Codeausschnitt:

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

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

Um den Wert von zu erhalten Für das durch x dargestellte Attribut können Sie Folgendes verwenden:

x = getattr(t, 'attr1')
Nach dem Login kopieren

Um den Wert des durch x dargestellten Attributs auf festzulegen 21:

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

Dieser Ansatz bietet eine flexible und dynamische Möglichkeit, auf Objektattribute zuzugreifen und diese zu ändern, was besonders nützlich ist, wenn mit dynamischen Datenstrukturen oder Zeichenfolgen gearbeitet wird, die Attributnamen darstellen.

Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe von Strings auf Objektattribute in Python 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