English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Python Grundlagenkurs

Python Prozesssteuerung

Funktionen in Python

Datenarten in Python

Python Dateioperationen

Python Objekte und Klassen

Python Datum und Zeit

Hochwertiges Wissen über Python

Python Referenzhandbuch

Verwendung und Beispiel von Python locals()

Eingebettete Python-Funktionen

Die Methode locals() aktualisiert und gibt das Dictionary der aktuellen lokalen Symboltable zurück.

Die Symboltable ist eine durch den Compiler verwaltete Datenstruktur, die alle notwendigen Informationen des Programms enthält.

Dies umfasst Variablennamen, Methoden, Klassen usw.

Es gibt hauptsächlich zwei Arten von Symboltabellen.

  1. Globale Symboltable

  2. Lokale Symboltable

EinGlobal Die Symboltable speichert alle Informationen im globalen Bereich des Programms und kann mit Python aufgerufen werden.globals()Methoden.

Der globale Bereich umfasst alle Funktionen und Variablen, die mit keiner Klasse oder Funktion verbunden sind.

GleichzeitigLocal Die Symboltable speichert alle Informationen, die mit dem lokalen Bereich des Programms zusammenhängen, und kann in Python mit der Methode locals() aufgerufen werden.

Der lokale Bereich kann innerhalb von Funktionen, Klassen usw. liegen. 

Empfohlene Lektüre: Namensräume und Bereiche in Python

Die Syntax von locals()

Die Syntax der Methode locals() ist:

locals()

Parameter von locals()

Die Methode locals() nimmt keine Parameter an.

Rückgabewert von locals()

Die Methode locals() aktualisiert und gibt das mit dem aktuellen lokalen Symboltable verbundene Dictionary zurück.

Beispiel1:Wie arbeitet locals() in Python?}

locals()

Wenn das Programm ausgeführt wird, lautet die Ausgabe:

{'In': ['', 'locals()'],
 'Out': {},
 '_': '',
 '__': '',
 '___': '',
 '__builtin__':,
 '__builtins__':,
 '__name__': '__main__',
 _dh: ['',/home/repl],
 _i: '',
 _i1': 'locals()',
 _ih: ['', 'locals()'],
 _ii: '',
 _iii: '',
 _oh: {},
 _sh:,
 'exit':,
 'get_ipython':>,
 'quit':}

Hinweis:Die Symboltabellen globals() und locals() im globalen Umfeld sind identisch.

Beispiel2:Wie arbeitet locals() im lokalen Bereich?

def localsNotPresent():
    return locals()
def localsPresent():
    present = True
    return locals()
print('localsNotPresent:', localsNotPresent())
print('localsPresent:', localsPresent())

Wenn das Programm ausgeführt wird, lautet die Ausgabe:

localsNotPresent: {}
localsPresent: {'present': True}

Beispiel3:Aktualisierung der locals() Dictionary-Werte

def localsPresent():
    present = True
    print(present)
    locals()['present'] = False;
    print(present)
localsPresent()

Wenn das Programm ausgeführt wird, lautet die Ausgabe:

True
True

Im Gegensatz zum Dictionary globals() (das Änderungen an der tatsächlichen globalen Tabelle widerspiegelt), kann das Dictionary locals() möglicherweise keine Informationen in der locals-Tabelle ändern.

Eingebettete Python-Funktionen