Erkundung der Nuancen von globals(), locals() und vars()
Python bietet drei Selbstbeobachtungsfunktionen, die Einblicke in die ermöglichen aktueller Namespace: globals(), locals() und vars(). Jedes gibt ein Wörterbuch mit spezifischen Informationen zurück.
globals()
globals() gibt konsistent das Wörterbuch des Namensraums des aktuellen Moduls zurück. Es bietet Zugriff auf alle global definierten Namen innerhalb des Moduls.
locals()
locals() ist dynamisch und sein Verhalten hängt vom Bereich ab.
Zum Beispiel in einer Funktion:
def example(): x = 1 l = locals() l['x'] = 3 print(x) # Outputs 1, not 3
Zum Beispiel:
class Test: a = 'one' huh = locals() b = 'two' huh['c'] = 'three' print(huh) # Outputs {'a': 'one', 'b': 'two', 'c': 'three', 'huh': {...}}
vars()
vars() akzeptiert ein Objekt als Argument und gibt sein dict-Attribut zurück. Normalerweise speichert das dict eines Objekts seine Attributdaten. Daher bietet die Bereitstellung eines Objekts an vars() Zugriff auf seine Attribute.
class Test: a = 'one' b = 'two' huh = vars(self) c = 'three' huh['d'] = 'four'
In diesem Beispiel gibt vars(self) das Attribut dict der Testinstanz zurück und ermöglicht den Zugriff auf seine Attribute wie „a“, „b“ und „c“.
Das obige ist der detaillierte Inhalt vonWie unterscheiden sich globals(), locals() und vars() in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!