Python lokale ()

Metoden Local () opdaterer og returnerer en ordbog over den aktuelle lokale symboltabel.

En symboltabel er en datastruktur, der vedligeholdes af en kompilator, der indeholder alle nødvendige oplysninger om programmet.

Disse inkluderer variable navne, metoder, klasser osv.

Der er hovedsageligt to slags symboltabeller.

  1. Globalt symbolbord
  2. Lokal symboltabel

En global symboltabel gemmer al information relateret til programmets globale anvendelsesområde og er tilgængelig i Python ved hjælp af globals () -metoden.

Det globale omfang indeholder alle funktioner, variabler, der ikke er knyttet til nogen klasse eller funktion.

Ligeledes Lokal symbol tabel gemmer alle oplysninger om den lokale programmets anvendelsesområde, og der er adgang i Python hjælp locals()metode.

Det lokale omfang kunne være inden for en funktion, inden for en klasse osv.

Anbefalet læsning: Navneområde og rækkevidde i Python

Syntaks for lokale ()

Syntaksen for locals()metoden er:

 lokale ()

lokale () Parametre

locals() metoden tager ingen parametre.

Returneringsværdi fra lokale ()

locals() metode opdaterer og returnerer ordbogen, der er knyttet til den aktuelle lokale symboltabel.

Eksempel 1: Hvordan lokale () arbejder i Python?

 locals()

Produktion

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

Bemærk: globals() og locals()symboltabellen for det globale miljø er den samme.

Eksempel 2: Hvordan lokalbefolkningen () arbejder inden for et lokalt omfang?

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

Produktion

 localsNotPresent: () localsPresent: ('present': True) 

Eksempel 3: Opdatering af lokale () ordbogsværdier

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

Produktion

 Sandt sandt 

I modsætning til globals()ordbog, der afspejler ændringen til den aktuelle globale tabel, locals()ændrer ordbog muligvis ikke oplysningerne i lokalbefolkningen.

Interessante artikler...