Qu'est-ce que ce code Python signifie?
-
09-10-2019 - |
Question
__author__="Sergio.Tapia"
__date__ ="$18-10-2010 12:03:29 PM$"
if __name__ == "__main__":
print("Hello")
print(__author__)
Où il se __main__
et __name__
?
Merci pour l'aide
La solution
La variable __name__
est mis à disposition par le moteur d'exécution. Il est le nom du module courant, le nom sous lequel il a été importé. "__main__"
est une chaîne. Ce n'est pas spécial, il est juste une chaîne. Il arrive aussi d'être le nom du script principal lors de son exécution.
Le mécanisme de if __name__ == "__main__":
est la façon courante de faire quelque chose quand un fichier .py est exécuté directement, mais pas quand il est importé en tant que module.
Autres conseils
modules Python peuvent aussi être exécutés sous forme de scripts autonomes. En tant que tel, le code dans le bloc if __name__ == "__main__":
ne fonctionnera que si le module est exécuté comme le fichier « principal ».
Exemple :
#foo.py
def msg():
print("bar")
if __name__ == "__main__":
msg()
L'exécution de ce module, sortie
$ python foo.py
bar
où que l'importation il ne sera rien de sortie.
>>> import foo
>>> foo.msg()
bar