Python – eine der beliebtesten Programmiersprachen der Welt. Es ist ein einfach zu erlernendes, flexibles und leistungsfähiges Werkzeug für Entwickler. Ein wichtiger Aspekt der Programmierung ist die Arbeit mit Variablen.
Eine Möglichkeit besteht darin, die Funktion zu verwenden globals(), das ein Wörterbuch aller globalen Variablen und ihrer Werte zurückgibt. Wir können alle Elemente dieses Wörterbuchs durchlaufen und das finden, dessen Wert mit dem gesuchten übereinstimmt.
Eine andere Möglichkeit besteht darin, das integrierte Modul zu verwenden inspect, mit dem Sie ausführbaren Code analysieren und auf seine Objekte zugreifen können. Wir können die Funktion verwenden getframeinfo() um Informationen über den aktuellen Frame abzurufen, extrahieren Sie dann den Namen der Variablen nach ihrem Wert.
Wir lernen den Namen der Variablen in Python kennen
Eine Möglichkeit, den Variablennamen abzurufen, besteht darin, die Funktion locals() zu verwenden. Die Funktion locals() gibt ein Wörterbuch zurück, das alle lokalen Variablen im aktuellen Gültigkeitsbereich enthält, deren Namen als Schlüssel und die Werte als entsprechende Werte.
Hier ist ein einfaches Beispiel für die Verwendung der Funktion locals() :
def get_variable_name(variable):for name, var in locals().items():if var is variable:return namex = 10y = "Hello"z = [1, 2, 3]print(get_variable_name(x)) # Output: xprint(get_variable_name(y)) # Output: yprint(get_variable_name(z)) # Output: z
Eine andere Möglichkeit besteht darin, das inspect-Modul und die Funktion currentframe() zu verwenden. Das Inspect-Modul bietet Funktionen zum Untersuchen von Objekten der Live-Codeausführung, wie z. B. Modulen, Klassen, Funktionen, Bereichen und Stapelrahmen.
Hier ist ein Beispiel für die Verwendung des Inspect-Moduls :
import inspectdef get_variable_name(variable):for name, var in inspect.currentframe().f_back.f_locals.items():if var is variable:return namex = 10y = "Hello"z = [1, 2, 3]print(get_variable_name(x)) # Output: xprint(get_variable_name(y)) # Output: yprint(get_variable_name(z)) # Output: z
Beachten Sie, dass die Verwendung dieser Methoden zum Abrufen des Variablennamens für Debugzwecke oder zum Erstellen einer generischen Funktion nützlich sein kann, die mit beliebigen Variablen funktioniert, aber im normalen Code ist dies normalerweise nicht erforderlich.
| Methode | Die Beschreibung |
|---|---|
| locals() | Gibt ein Wörterbuch mit lokalen Variablen zurück |
| inspect.currentframe().f_back.f_locals | Gibt ein Wörterbuch mit lokalen Variablen aus dem Stapelrahmen zurück |
In Python gibt es mehrere Möglichkeiten, den Namen einer Variablen auszugeben. Betrachten wir einige von ihnen:
1. Verwenden der Funktion locals()
x = 10 print('Variablenname:', [name for name in locals() if locals()[name] is x][0])
Dieser Code gibt "Variablenname: x" aus.
2. Mit der Funktion globals()
Die Funktion globals() gibt ein Wörterbuch zurück, das die globalen Zeichennamen darstellt, die im aktuellen Moment verfügbar sind.
x = 10 print('Variablenname:', [name for name in globals() if globals()[name] is x][0])
Dieser Code gibt auch "Variablenname: x" aus.
3. Formatierungszeichenfolge verwenden
x = 10 print(f'Variablenname: ')
Dieser Code gibt "Variablenname: x=10" aus.
Anwenden der Funktion locals()
Um die Funktion locals() zu verwenden, müssen Sie sie ohne Argumente aufrufen. Es gibt ein Wörterbuch zurück, wobei Schlüssel die Namen von Variablen und Werte die Werte von Variablen sind.
Beispiel für die Verwendung der Funktion locals():
x = 10 y = 5 z = 0 for var_name, var_value in locals().items(): print(f"Variablenname: , Variablenwert: ")
Dieser Code gibt das folgende Ergebnis aus:
Variablenname: x, Variablenwert: 10 Variablenname: y, Variablenwert: 5 Variablenname: z, Variablenwert: 0
Mit der Funktion locals() können Sie also auf lokale Variablen im Code zugreifen und deren Namen und Werte ausgeben.
Verwenden der vars() -Methode
- variable_name = "my_variable"
- print(variable_name)
Die Verwendung der vars() -Methode ermöglicht es Ihnen jedoch, dies auf elegantere Weise zu tun:
- variable_name = "my_variable"
- print(vars()[variable_name])
Die vars() -Methode gibt ein Wörterbuch mit Variablennamen und deren Werten im aktuellen Gültigkeitsbereich zurück. Wenn wir den Variablennamen in eckige Klammern einschließen, können wir den Wert der Variablen abrufen und auf dem Bildschirm anzeigen.
Beispiel für die Verwendung der vars() -Methode :
variable_name = "my_variable"print(vars()[variable_name])
Dieser Code gibt den Wert einer Variablen mit dem Namen "my_variable" aus, die vordefiniert werden muss.
Anwendungsbeispiele
- Verwenden der globals() -Funktion :
x = 10print(globals()["x"])
def foo():y = 20print(locals()["y"])foo()
import inspectz = 30print(inspect.currentframe().f_locals["z"])