wie der aktuelle Umfang in python
gibt es eine Referenz auf den aktuellen Bereich , sehe ich viele Artikel und konnte nicht die Antwort finden ,zum Beispiel will ich drucken jede var die Inhalte im aktuellen Bereich
for x in list(locals()):
print(x)
aber nur geben mir die var-name
__builtins__
__file__
__package__
__cached__
__name__
__doc__
ich möchte nicht, dass code wie dieser
print(__builtins__)
print(__file__)
print(__package__)
print(__cached__)
print(__name__)
print(__doc__)
....
- Die Unterstriche in den Variablen Teil Ihrer aktuellen Bereich. Wenn Sie nicht wollen, einfach überspringen Sie.
- er will, drucken Sie die Werte der Variablen, die nicht zu überspringen. Die for-Schleife in seinem post druckt den Namen der Variablen, die dort nicht Werten
Du musst angemeldet sein, um einen Kommentar abzugeben.
Massiven overkill... Wickeln Sie das filtern und Druck der lokale Namensraum einer Funktion.
Ich nicht empfehlen. Ich bin Entsendung es überwiegend zu zeigen, dass es getan werden kann und um Kommentare.
Ebenfalls erhalten Sie die Werte, die Sie verwenden können:
locals() liefert ein dict. Iteration über ein dict gibt Ihnen die Schlüssel. Um die Liste von (Schlüssel, Wert) - Paare, verwenden Sie die items-Methode.
Drucken nur die Variablen-Namen in
locals()
die nicht mit'__'
:"i wish I had f-strings".format(**locals())
print(local_var)
.Was meinst du mit "aktuellen Bereich"? Wenn du meinst nur die lokalen Variablen, dann
locals()
ist die richtige Antwort.Wenn du meinst, alle die Bezeichner, die Sie verwenden können[einheimische + globals + nonlocals], als die Dinge messier. Wahrscheinlich die einfachere Lösung ist diese ein.
Wenn Sie nicht wollen, dass die
__.*__
Variablen, einfach auszufiltern.