English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Lezioni di base di Python

Controllo dei flussi di Python

Funzione in Python

Tipi di dati in Python

Operazioni di file di Python

Oggetti e classi di Python

Data e ora di Python

Conoscenze avanzate di Python

Manuale di riferimento di Python

Utilizzo e esempio di locals() in Python

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.

  1. Tabella dei simboli globale

  2. 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 di locals()

La sintassi del metodo locals() è:

locals()

Parametro locals()

Il metodo locals() non accetta alcun parametro.

Il valore restituito da locals()

Il metodo locals() aggiorna e restituisce il dizionario associato alla tabella dei simboli locale corrente.

Esempio 1: Come lavora locals() in Python?

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.

Esempio 2: Come lavora locals() nel contesto locale?

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}

Esempio 3: Aggiornamento del valore del dizionario locals()

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().

Funzioni incorporate di Python