Python Language
Blocchi di codice, frame di esecuzione e spazi dei nomi
Ricerca…
introduzione
Un blocco di codice è un pezzo di testo di programma Python che può essere eseguito come un'unità, come un modulo, una definizione di classe o un corpo di una funzione. Alcuni blocchi di codice (come i moduli) vengono normalmente eseguiti solo una volta, altri (come i corpi delle funzioni) possono essere eseguiti molte volte. I blocchi di codice possono contenere testualmente altri blocchi di codice. I blocchi di codice possono richiamare altri blocchi di codice (che possono o non possono essere contenuti testualmente in essi) come parte della loro esecuzione, ad esempio invocando (chiamando) una funzione.
Spazi dei nomi di codice
Tipo di blocco di codice | Spazio dei nomi globale | Spazio dei nomi locale |
---|---|---|
Modulo | ns per il modulo | uguale a globale |
Script (file o comando) | ns per __main__ | uguale a globale |
Comando interattivo | ns per __main__ | uguale a globale |
Definizione della classe | ns globale del blocco contenitore | nuovo spazio dei nomi |
Corpo della funzione | ns globale del blocco contenitore | nuovo spazio dei nomi |
Stringa passata alla dichiarazione exec | ns globale del blocco contenitore | spazio dei nomi locale del blocco contenitore |
Stringa passata a eval() | ns globale di chi chiama | local ns of caller |
File letto da execfile() | ns globale di chi chiama | local ns of caller |
Espressione letta da input() | ns globale di chi chiama | local ns of caller |
Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow