Metode Localals () atjaunina un atgriež pašreizējās vietējo simbolu tabulas vārdnīcu.
Simbolu tabula ir datu struktūra, kuru uztur kompilators un kurā ir visa nepieciešamā informācija par programmu.
Tie ietver mainīgo nosaukumus, metodes, klases utt.
Galvenokārt ir divu veidu simbolu tabula.
- Globālā simbolu tabula
- Vietējo simbolu tabula
Global simbols galda glabā visu informāciju, kas saistīta ar pasaules mēroga programmas, un ir pieejama Python izmantojot Globālie () metodi.
Globālajā tvērumā ir visas funkcijas, mainīgie, kas nav saistīti ar kādu klasi vai funkciju.
Tāpat vietējo simbolu tabulā tiek glabāta visa informācija, kas saistīta ar programmas lokālo darbības jomu, un tai piekļūst Python, izmantojot locals()
metodi.
Vietējā darbības joma varētu būt funkcijas ietvaros, klasē utt.
Ieteicamā literatūra: Python nosaukumvieta un darbības joma
Vietējo iedzīvotāju sintakse ()
Metodes sintakse locals()
ir:
vietējie ()
vietējie iedzīvotāji () Parametri
locals()
metode neņem parametrus.
Atgriešanās vērtība no vietējiem ()
locals()
metode atjaunina un atgriež vārdnīcu, kas saistīta ar pašreizējo vietējo simbolu tabulu.
1. piemērs: Kā vietējie () darbojas Python?
locals()
Rezultāts
('In': ('', 'localals ()'), 'Out': (), '_': '', '__': '', '___': '', '__builtin__':, ' __builtins__ ':,' __name__ ':' __main__ ',' _dh ': (' / home / repl '),' _i ':' ',' _i1 ':' vietējie () ',' _ih ': (' ', 'localals ()'), '_ii': '', '_iii': '', '_oh': (), '_sh':, 'exit', 'get_ipython':>, 'quit':)
Piezīme: globals()
un locals()
globālās vides simbolu tabula ir vienāda.
2. piemērs: Kā vietējie () darbojas lokālā mērogā?
def localsNotPresent(): return locals() def localsPresent(): present = True return locals() print('localsNotPresent:', localsNotPresent()) print('localsPresent:', localsPresent())
Rezultāts
localsNotPresent: () localsPresent: ('klāt': taisnība)
3. piemērs: vietņu () vārdnīcas vērtību atjaunināšana
def localsPresent(): present = True print(present) locals()('present') = False; print(present) localsPresent()
Rezultāts
True True
Atšķirībā no globals()
vārdnīcas, kas atspoguļo izmaiņas faktiskajā globālajā tabulā, locals()
vārdnīca var nemainīt vietējo iedzīvotāju tabulas informāciju.