Pythoni kohalikud ()

Meetod Localals () värskendab ja tagastab praeguse kohaliku sümbolitabeli sõnastiku.

Sümbolitabel on kompilaatori hallatav andmestruktuur, mis sisaldab kogu vajalikku teavet programmi kohta.

Nende hulka kuuluvad muutujate nimed, meetodid, klassid jne.

Sümboolitabelit on peamiselt kahte tüüpi.

  1. Ülemaailmne sümbolitabel
  2. Kohalike sümbolite tabel

Global sümbol tabelis salvestab kõik andmed, mis on seotud globaalse ulatusega programmi ja on külastatud Python kasutades globaalseid () meetod.

Globaalne ulatus hõlmab kõiki funktsioone, muutujaid, mis pole seotud ühegi klassi ega funktsiooniga.

Samamoodi salvestab kohalik sümbolitabel kogu teabe, mis on seotud programmi kohaliku ulatusega, ja sellele pääseb Pythonis juurde locals()meetodi abil.

Kohalik ulatus võiks olla funktsiooni sees, klassis jne.

Soovitatav lugemine: Pythoni nimeruum ja ulatus

Kohalike süntaks ()

Meetodi süntaks locals()on:

 kohalikud ()

kohalikud () parameetrid

locals() meetod ei võta parameetreid.

Tagasiväärtus kohalikelt ()

locals() meetod värskendab ja tagastab praeguse kohaliku sümbolitabeliga seotud sõnastiku.

Näide 1: Kuidas kohalikud () Pythonis töötavad?

 locals()

Väljund

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

Märkus: globals() ja locals()globaalse keskkonna sümbolitabel on sama.

Näide 2: Kuidas kohalikud () kohalikus ulatuses toimivad?

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

Väljund

 localsNotPresent: () localsPresent: ('kohal': tõsi) 

Näide 3: kohalike () sõnastiku väärtuste värskendamine

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

Väljund

 Tõsi tõsi 

Erinevalt globals()sõnaraamatust, mis kajastab tegeliku globaalse tabeli locals()muutumist , ei pruugi sõnastik muuta kohalike tabelis olevat teavet.

Huvitavad Artiklid...