Zugriff auf Klasseneigenschaften aus Strings in Python
Bei der Arbeit mit Klassen kann es erforderlich sein, dynamisch auf Eigenschaften basierend auf dem Wert von a zuzugreifen String-Variable. Betrachten Sie die folgende Klasse:
<code class="python">class User: def __init__(self): self.data = [] self.other_data = [] def doSomething(self, source): # Task: access self.other_data if source is 'other_data'</code>
Um dynamisch auf eine Klasseneigenschaft basierend auf einer Zeichenfolgenvariablen zuzugreifen, können Sie die Funktion getattr verwenden. So funktioniert es:
<code class="python">x = getattr(self, source)</code>
Wenn in Ihrem Beispiel die Quelle „other_data“ ist, gibt getattr den Wert von self.other_data zurück. Dieser Ansatz funktioniert für jeden gültigen Attributnamen der Klasse, in Ihrem Fall sowohl self.data als auch self.other_data.
Das obige ist der detaillierte Inhalt vonWie greife ich mithilfe von String-Variablen in Python dynamisch auf Klasseneigenschaften zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!