Wie greife ich dynamisch über die Zeichenfolgeneingabe in Python auf Klasseneigenschaften zu?

Linda Hamilton
Freigeben: 2024-10-23 08:42:02
Original
611 Leute haben es durchsucht

How to Access Class Properties Dynamically from String Input in Python?

Python: Zugriff auf Klasseneigenschaften über Strings

In Python kann es vorkommen, dass Sie auf Klasseneigenschaften über Strings zugreifen müssen. Beispielsweise könnten Sie eine Klasse wie diese haben:

<code class="python">class User:
    def __init__(self):
        self.data = []
        self.other_data = []

    def doSomething(self, source):
        # How to access self.other_data if source = 'other_data'?</code>
Nach dem Login kopieren

Sie möchten einen Zeichenfolgenwert für den Quellparameter in doSomething übergeben und auf das Klassenmitglied mit demselben Namen zugreifen.

Lösung:

Die ideale Lösung für dieses Problem ist die Verwendung der getattr-Funktion:

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

getattr benötigt zwei Argumente: das Objekt, auf dessen Eigenschaft Sie zugreifen möchten, und das Name der Eigenschaft als String. In Ihrem Fall würden Sie self als erstes Argument und source als zweites verwenden.

Dieser Ansatz funktioniert nahtlos, unabhängig davon, auf welches Attribut von self durch die Quellzeichenfolge verwiesen wird, einschließlich other_data in Ihrem Beispiel.

Das obige ist der detaillierte Inhalt vonWie greife ich dynamisch über die Zeichenfolgeneingabe in Python 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!