Zugriff auf Klasseneigenschaften über einen String in Python
Bei der objektorientierten Programmierung kann es erforderlich sein, dynamisch auf Klasseneigenschaften basierend auf einem String zuzugreifen Eingang. Betrachten Sie die folgende Beispielklasse:
<code class="python">class User: def __init__(self): self.data = [] self.other_data = [] def doSomething(self, source): if source == 'other_data': # How to access self.other_data here?</code>
Dieses Beispiel zielt darauf ab, auf das Klassenmitglied mit dem in der Quellzeichenfolge angegebenen Namen zuzugreifen. So kann dies erreicht werden:
Verwendung von getattr():
Die Funktion getattr() ermöglicht den dynamischen Zugriff auf Attribute eines Objekts. Es benötigt zwei Argumente: das Objekt und eine Zeichenfolge, die den Attributnamen darstellt. In diesem Fall ist Quelle der Attributname:
<code class="python">x = getattr(self, source)</code>
Diese Zeile ruft den Wert des Attributs mit dem in Quelle gespeicherten Namen ab. Im obigen Beispiel würde x self.other_data zugewiesen.
Hinweis: getattr() kann sowohl mit Datenattributen als auch mit Methoden arbeiten.
Das obige ist der detaillierte Inhalt vonWie greife ich dynamisch über einen String in Python auf Klasseneigenschaften zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!