Python-lokalbefolkningen ()

Metoden lokalbefolkningen () uppdaterar och returnerar en ordlista för den aktuella lokala symboltabellen.

En symboltabell är en datastruktur som underhålls av en kompilator som innehåller all nödvändig information om programmet.

Dessa inkluderar variabla namn, metoder, klasser etc.

Det finns huvudsakligen två typer av symbolbord.

  1. Globalt symbolbord
  2. Lokal symboltabell

En global symboltabell lagrar all information som är relaterad till programmets globala omfång och nås i Python med globals () -metoden.

Det globala omfånget innehåller alla funktioner, variabler som inte är associerade med någon klass eller funktion.

På samma sätt lagrar lokal symboltabell all information relaterad till programmets lokala omfång och nås i Python med locals()metoden.

Det lokala omfånget kan ligga inom en funktion, inom en klass, etc.

Rekommenderad läsning: Namnområde och omfattning i Python

Lokalens syntax ()

Syntaxen för locals()metoden är:

 lokalbefolkningen ()

lokalbefolkningen () Parametrar

locals() metoden tar inga parametrar.

Returvärde från lokalbefolkningen ()

locals() metod uppdaterar och returnerar ordlistan som är associerad med den aktuella lokala symboltabellen.

Exempel 1: Hur lokalbefolkningen () fungerar 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':) 

Obs: globals() och locals()symboltabellen för den globala miljön är densamma.

Exempel 2: Hur lokalbefolkningen () fungerar inom ett lokalt omfång?

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

Produktion

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

Exempel 3: Uppdatera ordlistavärden för lokalbefolkningen ()

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

Produktion

 Sant sant 

Till skillnad från globals()ordbok som återspeglar ändringen till den faktiska globala tabellen, locals()kan ordbok inte ändra informationen i lokalbefolkningen.

Intressanta artiklar...