Python-Einheimische ()

Die Methode local () aktualisiert und gibt ein Wörterbuch der aktuellen lokalen Symboltabelle zurück.

Eine Symboltabelle ist eine Datenstruktur, die von einem Compiler verwaltet wird und alle erforderlichen Informationen über das Programm enthält.

Dazu gehören Variablennamen, Methoden, Klassen usw.

Es gibt hauptsächlich zwei Arten von Symboltabellen.

  1. Globale Symboltabelle
  2. Lokale Symboltabelle

Eine globale Symboltabelle speichert alle Informationen zum globalen Programmumfang und wird in Python mithilfe der globals () -Methode aufgerufen.

Der globale Bereich enthält alle Funktionen, Variablen, die keiner Klasse oder Funktion zugeordnet sind.

Ebenso speichert die lokale Symboltabelle alle Informationen, die sich auf den lokalen Bereich des Programms beziehen, und wird in Python mithilfe der locals()Methode aufgerufen .

Der lokale Bereich kann innerhalb einer Funktion, innerhalb einer Klasse usw. liegen.

Empfohlene Lektüre: Namespace und Umfang von in Python

Syntax der Einheimischen ()

Die Syntax der locals()Methode lautet:

 Einheimische ()

lokale () Parameter

locals() Methode nimmt keine Parameter.

Rückgabewert von Einheimischen ()

locals() Die Methode aktualisiert und gibt das der aktuellen lokalen Symboltabelle zugeordnete Wörterbuch zurück.

Beispiel 1: Wie funktioniert local () in Python?

 locals()

Ausgabe

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

Hinweis: globals() und locals()Symboltabelle für die globale Umwelt ist das gleiche.

Beispiel 2: Wie funktioniert local () in einem lokalen Bereich?

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

Ausgabe

 LocalsNotPresent: () LocalsPresent: ('Present': True) 

Beispiel 3: Aktualisieren der Wörterbuchwerte von local ()

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

Ausgabe

 Wahr, wahr 

Im Gegensatz zu einem globals()Wörterbuch, das die Änderung der tatsächlichen globalen Tabelle widerspiegelt, ändert das locals()Wörterbuch möglicherweise nicht die Informationen in der lokalen Tabelle.

Interessante Beiträge...