[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