[Python] La matrice immortale.

Gabriele Battaglia iz4apu a libero.it
Mer 2 Lug 2014 11:04:16 CEST


From: "Alberto de prezzo" <justorius a linuxmail.org>

Parti da un concetto: il filename di un modulo è disponibile nella
variabile global "__name__".
Giusto per capirci, tale "name" è quello che usi per importare un modulo:

>>>import mio_modulo
>>>mio_modulo.__name__
'mio_modulo'

Nota che il modulo è eseguito nel *suo* namespace. Considera il namespace
come semplicemente uno "spazio" in cui due moduli possono avere lo stesso
metodo fai_qualcosa(), senza che ci sia confusione tra i due.

Quando esegui invece il modulo da <STDIN>, prompt oppure come script, lo
fai invece nello spazio di nomi "globale", cioè
appunto nello spazio "main". All'atto pratico, la riga di codice in
questione (if  __name__ == '__main__') controlla proprio questo aspetto,
cioè lo spazio in cui "vive" il codice, ed evita che sia eseguito nel caso
in cui tale modulo è solamente importato.

Spero di essere stato chiaro.

GB: giorno.
Sì, grazie mille.
Gabriele. 



Maggiori informazioni sulla lista Python