Wie greife ich mithilfe von String in Python dynamisch auf Klasseneigenschaften zu?

Mary-Kate Olsen
Freigeben: 2024-10-23 08:40:29
Original
116 Leute haben es durchsucht

How to Access Class Property Dynamically Using String in Python?

Zugriff auf Klasseneigenschaften über einen String in Python

Bei der Arbeit mit Python kann es vorkommen, dass Sie dynamisch auf eine Klasseneigenschaft basierend auf einem String zugreifen müssen. Ein solcher Anwendungsfall ist der Zugriff auf verschiedene Klassenmitglieder basierend auf einem vom Benutzer bereitgestellten Zeichenfolgenwert.

In solchen Szenarien können Sie die Funktion getattr verwenden. Betrachten Sie die folgende Klasse als Beispiel:

<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</code>
Nach dem Login kopieren

Innerhalb der doSomething-Methode können Sie mit getattr dynamisch auf die Klasseneigenschaft zugreifen:

<code class="python">x = getattr(self, source)</code>
Nach dem Login kopieren

In diesem Fall wird x zugewiesen Wert der Klasseneigenschaft other_data, wenn Quelle gleich „other_data“ ist. Dies liegt daran, dass getattr ein Objekt und eine Zeichenfolge akzeptiert, die den Eigenschaftsnamen darstellt, und den Wert der Eigenschaft zurückgibt.

Die Verwendung von getattr bietet eine bequeme und dynamische Möglichkeit, auf Klasseneigenschaften basierend auf einer Zeichenfolge zuzugreifen. Dadurch können Sie die Verwendung fest codierter Eigenschaftsnamen vermeiden, wodurch Ihr Code flexibler und wiederverwendbar wird.

Das obige ist der detaillierte Inhalt vonWie greife ich mithilfe von String in Python dynamisch auf Klasseneigenschaften zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!