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.
- Visuotinė simbolių lentelė
- 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.