English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Funzioni incorporate di Python
Il metodo locals() aggiorna e restituisce il dizionario della tabella dei simboli locale corrente.
La tabella dei simboli è una struttura dati gestita dal compilatore che contiene tutte le informazioni necessarie del programma.
Questi includono nomi di variabili, metodi, classi ecc.
Ci sono principalmente due tipi di tabelle dei simboli.
Tabella dei simboli globale
Tabella dei simboli locale
UnGlobal La tabella dei simboli memorizza tutte le informazioni relative al range globale del programma e può essere acceduta utilizzando Python.globals()Metodo.
L'ambito globale include tutte le funzioni e le variabili non associate a nessuna classe o funzione.
Allo stesso modo,Locale La tabella dei simboli memorizza tutte le informazioni relative al range locale del programma e può essere acceduta utilizzando il metodo locals() in Python.
L'ambito locale può essere all'interno di una funzione, di una classe ecc.
Raccomandazioni per la lettura: Il namespace e l'ambito di Python
La sintassi del metodo locals() è:
locals()
Il metodo locals() non accetta alcun parametro.
Il metodo locals() aggiorna e restituisce il dizionario associato alla tabella dei simboli locale corrente.
locals()
Quando si esegue questo programma, l'output è:
{In: ['', 'locals()'], Out: {}, _: '', __: '', ___: '', __builtin__:, __builtins__:, __name__: '__main__', _dh: ['/home/repl'], _i: '', _i1: 'locals()', _ih: ['', 'locals()'], _ii: '', _iii: '', _oh: {}, _sh:, 'exit':, 'get_ipython':>, 'quit':}
Attenzione:Il simbolo table globals() e locals() dell'ambiente globale sono gli stessi.
def localsNotPresent(): return locals() def localsPresent(): present = True return locals() print('localsNotPresent:', localsNotPresent()) print('localsPresent:', localsPresent())
Quando si esegue questo programma, l'output è:
localsNotPresent: {} localsPresent: {'present': True}
def localsPresent(): present = True print(present) locals()['present'] = False; print(present) localsPresent()
Quando si esegue questo programma, l'output è:
True True
Diverso da globals() dizionario (che riflette le modifiche alla tabella globale effettiva), il dizionario locals() potrebbe non modificare le informazioni nella tabella locals().