Il giorno 01 luglio 2014 18:15, Giovanni Porcari < [email protected]> ha scritto:
> > > Il giorno 01/lug/2014, alle ore 15:37, Gabriele Battaglia < > [email protected]> ha scritto: > > > > Ciao Giovanni e grazie. > > Visto che in questi giorni, data la mia presenza, questa lista è > diventata un asilo per programmatori... Dove l'infante sono io, > chiaramente, mi spiegheresti il significato di questa riga? > > > > if __name__=='__main__': > > > 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.
_______________________________________________ Python mailing list [email protected] http://lists.python.it/mailman/listinfo/python
