English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Il metodo globals() restituisce un dizionario di tutte le variabili globali nella posizione corrente.
Il tavolo dei simboli è una struttura dati mantenuta dal compilatore che contiene tutte le informazioni necessarie del programma.
Questi includono nomi di variabili, metodi, classi, ecc.
I tavoli dei simboli主要有 due tipi.
Tavolo dei simboli locale
Tavolo dei simboli globale
Locale(Local)Il tavolo dei simboli memorizza tutte le informazioni relative al contesto locale del programma e può essere utilizzato in Python.locals()metodo di accesso.
Lo spazio di nomi locale può essere all'interno di una funzione, una classe, ecc.
AnalogamenteGlobale(Globale)Il tavolo dei simboli memorizza tutte le informazioni relative al contesto globale del programma e può essere acceduto utilizzando il metodo globals() in Python.
Lo spazio di nomi globale contiene tutte le funzioni, e le variabili non associate a nessuna classe o funzione.
Leggi anche: Spazi di nomi e scope in Python
La mappa globals è la mappa del modulo corrente (all'interno di una funzione, è il modulo che lo definisce, non il modulo che lo chiama).
La sintassi del metodo globals() è:
globals()
Il metodo globals() non accetta alcun parametro.
Il metodo globals() restituisce una mappa di variabili globali.
globals()
Quando si esegue il programma, l'output è:
{'In': ['', 'globals()'], 'Out': {}, '_': '', '__': '', '___': '', '__builtin__': <modulo 'builtins' (interno)>, '__builtins__': <modulo 'builtins' (interno)>, '__name__': '__main__', _dh: ['/home/repl'], _i: '', _i1: 'globals()', _ih: ['', 'globals()'], _ii: '', _iii: '', _oh: {}, _sh: <module 'IPython.core.shadowns' from '/usr/local/lib/python3.5/dist-packages/IPython/core/shadowns.py'>, 'get_ipython': <bound method InteractiveShell.get_ipython of <IPython.core.interactiveshell.InteractiveShell object at 0x7fbc6478ee48>>, 'quit': <IPython.core.autocall.ExitAutocall at 0x7fbc60ca6c50>}
L'output mostra tutte le variabili globali e altri simboli del programma corrente.
age = 23 globals()['age'] = 25 print('L'età è:', age)
Quando si esegue il programma, l'output è:
L'età è: 25
Qui, poiché la tabella dei simboli globale memorizza tutti i variabili globali, ossia nel nostro esempio age, è possibile modificare il valore di age utilizzando la funzione globals().
Accedi al dizionario restituito utilizzando la chiave variabile age e modificarlo a 25.
Questo rifletterà di nuovo nella tabella dei simboli globali.