Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich den Namen einer Python-Variablen zur Laufzeit abrufen?

Wie kann ich den Namen einer Python-Variablen zur Laufzeit abrufen?

Susan Sarandon
Freigeben: 2024-12-21 14:02:10
Original
193 Leute haben es durchsucht

How Can I Get a Python Variable's Name at Runtime?

Variablennamen in Python abfangen

In Python ist der direkte Zugriff auf den Namen einer Variablen keine einfache Aufgabe. Für bestimmte Szenarien, in denen es entscheidend ist, den Variablennamen zu erhalten, sollten Sie jedoch die folgende Lösung in Betracht ziehen.

Der Trick des Inspect-Moduls

Mit dem Inspect-Modul können Sie den Aufrufstapel durchlaufen und die Variable extrahieren Name von Interesse. So geht's:

import inspect, re

def varname(p):
  for line in inspect.getframeinfo(inspect.currentframe().f_back)[3]:
    m = re.search(r'\bvarname\s*\(\s*([A-Za-z_][A-Za-z0-9_]*)\s*\)', line)
    if m:
      return m.group(1)
Nach dem Login kopieren

Verwendungsbeispiel

Um die Funktionalität zu veranschaulichen, nehmen Sie an, Sie haben eine Variable namens spam mit dem Wert 42. Mit der Funktion varname() können Sie diese abrufen sein Name:

if __name__ == '__main__':
  spam = 42
  print varname(spam)
Nach dem Login kopieren

Ausgabe

Die Ausgabe wird sein:

spam
Nach dem Login kopieren

Hinweis zur Vorsicht

Dieser Ansatz bietet zwar eine Möglichkeit, auf Variablennamen zuzugreifen, es ist jedoch wichtig, ihn mit Bedacht zu verwenden. Von der direkten Benennung von Variablen wird in Pythonic-Codierungspraktiken im Allgemeinen abgeraten. Erwägen Sie alternative Lösungen, wie z. B. die Umwandlung der Konfigurationsdatei in ein Wörterbuch während der Initialisierung, um die Notwendigkeit dieser Technik zu vermeiden.

Das obige ist der detaillierte Inhalt vonWie kann ich den Namen einer Python-Variablen zur Laufzeit abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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