Metóda globals () vracia slovník aktuálnej tabuľky globálnych symbolov.
Tabuľka symbolov je dátová štruktúra udržiavaná kompilátorom, ktorá obsahuje všetky potrebné informácie o programe.
Patria sem názvy premenných, metódy, triedy atď.
Existujú hlavne dva druhy tabuľky symbolov.
- Tabuľka miestnych symbolov
- Tabuľka globálnych symbolov
Tabuľka lokálnych symbolov ukladá všetky informácie týkajúce sa lokálneho rozsahu programu a je k nej prístup v Pythone pomocou metódy locals ().
Miestny rozsah môže byť vo funkcii, v triede atď.
Rovnako tak tabuľka globálnych symbolov ukladá všetky informácie týkajúce sa globálneho rozsahu programu a je k nej prístup v Pythone pomocou globals()
metódy.
Globálny rozsah obsahuje všetky funkcie, premenné, ktoré nie sú spojené so žiadnou triedou alebo funkciou.
Odporúčané čítanie: Menný priestor a rozsah v Pythone
Syntax globálov ()
Slovník globálnej tabuľky je slovník aktuálneho modulu (vo vnútri funkcie je to modul, v ktorom je definovaný, nie modul, v ktorom sa volá).
Syntax globals()
metódy je:
globály ()
parametre globals ()
globals()
metóda neberie žiadne parametre.
Vrátiť hodnotu z globálov ()
globals()
metóda vráti slovník aktuálnej globálnej tabuľky symbolov.
Príklad 1: Ako funguje metóda globals () v Pythone?
globals()
Výkon
('In': ('', 'globals ()'), 'Out': (), '_': '', '__': '', '___': '', '__builtin__':, ' __builtins__ ':,' __name__ ':' __main__ ',' _dh ': (' / home / repl '),' _i ':' ',' _i1 ':' globals () ',' _ih ': (' ', 'globals ()'), '_ii': '', '_iii': '', '_oh': (), '_sh':, 'exit':, 'get_ipython':, 'quit' :)
Výstup zobrazuje všetky globálne premenné a ďalšie symboly pre aktuálny program.
Príklad 2: Úprava globálnej premennej pomocou global ()
age = 23 globals()('age') = 25 print('The age is:', age)
Výkon
Vek je: 25
Pretože tu globálna tabuľka symbolov uchováva aj všetky globálne premenné, tj. V tomto prípade vek, je možné hodnotu veku zmeniť pomocou globals()
funkcie.
Vrátený slovník je prístupný pomocou kľúča premennej age a upravený na 25.
Toto sa opäť odráža v globálnej tabuľke symbolov.