Python-lokalbefolkningen ()

Lokalbefolkningen () oppdaterer og returnerer en ordbok over den nåværende lokale symboltabellen.

En symboltabell er en datastruktur vedlikeholdt av en kompilator som inneholder all nødvendig informasjon om programmet.

Disse inkluderer variabelnavn, metoder, klasser, etc.

Det er hovedsakelig to typer symboltabeller.

  1. Globalt symbolbord
  2. Lokalt symbolbord

En global symboltabell lagrer all informasjon relatert til programmets globale omfang, og er tilgjengelig i Python ved hjelp av globals () -metoden.

Det globale omfanget inneholder alle funksjoner, variabler som ikke er knyttet til noen klasse eller funksjon.

På samme måte lagrer lokal symboltabell all informasjon relatert til programmets lokale omfang, og er tilgjengelig i Python ved hjelp av locals()metoden.

Det lokale omfanget kan være innenfor en funksjon, i en klasse osv.

Anbefalt lesing: Navneområde og omfang av i Python

Syntaks for lokalbefolkningen ()

Syntaksen for locals()metoden er:

 lokalbefolkningen ()

lokale () parametere

locals() metoden tar ingen parametere.

Returverdi fra lokalbefolkningen ()

locals() metoden oppdaterer og returnerer ordboken som er knyttet til den gjeldende lokale symboltabellen.

Eksempel 1: Hvordan lokalbefolkningen () fungerer i Python?

 locals()

Produksjon

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

Merk: globals() og locals()symboltabellen for det globale miljøet er den samme.

Eksempel 2: Hvordan lokalbefolkningen () fungerer innenfor et lokalt omfang?

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

Produksjon

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

Eksempel 3: Oppdatering av lokale () ordbokverdier

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

Produksjon

 Sant sant 

I motsetning til globals()ordbok som gjenspeiler endringen til den faktiske globale tabellen, locals()kan det hende ordboken ikke endrer informasjonen i lokalbefolkningen.

Interessante artikler...