„Python“ vietiniai gyventojai ()

Metodas „Localals“ () atnaujina ir pateikia dabartinės vietinių simbolių lentelės žodyną.

Simbolių lentelė yra kompiliatoriaus palaikoma duomenų struktūra, kurioje yra visa reikalinga informacija apie programą.

Tai apima kintamųjų pavadinimus, metodus, klases ir kt.

Yra daugiausia dviejų rūšių simbolių lentelės.

  1. Visuotinė simbolių lentelė
  2. Vietinių simbolių lentelė

Global“ simbolių lentelėje saugoma visa informacija, susijusi su programos visuotine apimtimi, ir prie jos galima prisijungti naudojant „Python“, naudojant metodą „globals“ ().

Visuotinėje apimtyje yra visos funkcijos, kintamieji, kurie nėra susieti su jokia klase ar funkcija.

Lygiai taip pat, vietinių simbolių lentelėje saugoma visa informacija, susijusi su vietine programos apimtimi, ir prieiga prie jos pasiekiama naudojant „Python“ locals().

Vietinė taikymo sritis galėtų būti funkcijos, klasės ar pan.

Rekomenduojamas skaitymas: „Python“ vardų sritis ir apimtis

Vietinių gyventojų sintaksė ()

locals()Metodo sintaksė yra:

 vietiniai ()

vietiniai () parametrai

locals() metodas neturi jokių parametrų.

Grąžinimo vertė iš vietinių gyventojų ()

locals() metodas atnaujina ir grąžina žodyną, susietą su dabartine vietinių simbolių lentele.

1 pavyzdys: Kaip „Python“ veikia vietiniai gyventojai ()?

 locals()

Rezultatas

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

Pastaba: globals() ir locals()pasaulinės aplinkos simbolių lentelė yra ta pati.

2 pavyzdys: Kaip vietiniai () veikia lokaliai?

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

Rezultatas

 localalsNotPresent: () localsPresent: ('dabartinis': tiesa) 

3 pavyzdys: vietinių () žodyno reikšmių atnaujinimas

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

Rezultatas

 Tiesa, tiesa 

Priešingai nei globals()žodynas, atspindintis faktinės visuotinės lentelės pasikeitimą, locals()žodynas gali nepakeisti vietos gyventojų lentelėje esančios informacijos.

Įdomios straipsniai...