Lokalni stanovnici Pythona ()

Metoda local () ažurira i vraća rječnik trenutne tablice lokalnih simbola.

Tablica simbola je struktura podataka koju održava prevodilac i koja sadrži sve potrebne informacije o programu.

Uključuju imena varijabli, metode, klase itd.

Postoje uglavnom dvije vrste tablice simbola.

  1. Globalna tablica simbola
  2. Tablica lokalnih simbola

Tablica globalnih simbola pohranjuje sve informacije povezane s globalnim opsegom programa i pristupa joj se u Pythonu metodom globals ().

Globalni opseg sadrži sve funkcije, varijable koje nisu povezane s bilo kojom klasom ili funkcijom.

Isto tako, tablica lokalnih simbola pohranjuje sve informacije povezane s lokalnim opsegom programa i pristupa joj se u Pythonu pomoću locals()metode.

Lokalni opseg može biti unutar funkcije, unutar klase itd.

Preporučena literatura: Prostor imena i opseg u Pythonu

Sintaksa lokalnog stanovništva ()

Sintaksa locals()metode je:

 mještani ()

domaći () parametri

locals() metoda ne uzima nikakve parametre.

Povratna vrijednost od lokalnog stanovništva ()

locals() metoda ažurira i vraća rječnik povezan s trenutnom tablicom lokalnog simbola.

Primjer 1: Kako lokalno stanovništvo () radi u Pythonu?

 locals()

Izlaz

 ('Ulaz': ('', 'lokalno stanovništvo ()'), 'Izlaz': (), '_': '', '__': '', '___': '', '__builtin__':, ' __builtins__ ':,' __name__ ':' __main__ ',' _dh ': (' / home / repl '),' _i ':' ',' _i1 ':' lokalno stanovništvo () ',' _ih ': (' ', 'domaći ()'), '_ii': '', '_iii': '', '_oh': (), '_sh':, 'exit':, 'get_ipython':>, 'quit':) 

Napomena: globals() i locals()tablica simbola za globalno okruženje je ista.

Primjer 2: Kako lokalno stanovništvo () radi unutar lokalnog opsega?

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

Izlaz

 localNotPresent: () localPresent: ('present': True) 

Primjer 3: Ažuriranje vrijednosti rječnika lokalnog jezika ()

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

Izlaz

 Istina istina 

Za razliku od globals()rječnika koji odražava promjenu stvarne globalne tablice, locals()rječnik možda neće promijeniti podatke unutar tablice lokalnog stanovništva.

Zanimljivi članci...