Che cosa significa questo codice Python?
-
09-10-2019 - |
Domanda
__author__="Sergio.Tapia"
__date__ ="$18-10-2010 12:03:29 PM$"
if __name__ == "__main__":
print("Hello")
print(__author__)
Dove si ottiene __main__
e __name__
?
Grazie per l'aiuto
Soluzione
La variabile __name__
è reso disponibile dal runtime. E 'il nome del modulo corrente, il nome con il quale è stato importato. "__main__"
è una stringa. Non è speciale, è solo una stringa. Capita anche di essere il nome dello script principale quando viene eseguita.
Il meccanismo if __name__ == "__main__":
è il modo comune di fare qualcosa quando un file .py viene eseguito direttamente, ma non quando viene importato come modulo.
Altri suggerimenti
I moduli Python possono anche essere eseguiti come script standalone. Come tale, il codice all'interno del blocco if __name__ == "__main__":
verrà eseguito solo se il modulo viene eseguito come il file "principale".
Esempio :
#foo.py
def msg():
print("bar")
if __name__ == "__main__":
msg()
L'esecuzione di questo uscita modulo
$ python foo.py
bar
dove come importare il risultato sarà nulla.
>>> import foo
>>> foo.msg()
bar