Python vietējie iedzīvotāji ()

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.

  1. Globālā simbolu tabula
  2. 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.

Interesanti raksti...