2010-10-18 6 views
1
__author__="Sergio.Tapia" 
__date__ ="$18-10-2010 12:03:29 PM$" 

if __name__ == "__main__": 
    print("Hello") 
    print(__author__) 

Où obtient-elle __main__ et __name__?Que signifie ce code Python?

Merci pour l'aide

Répondre

9

La variable __name__ est mis à disposition par le moteur d'exécution. C'est le nom du module actuel, le nom sous lequel il a été importé. "__main__" est une chaîne. Ce n'est pas spécial, c'est juste une chaîne. Il arrive aussi d'être le nom du script principal quand il est exécuté. Le mécanisme if __name__ == "__main__": est la manière habituelle de faire quelque chose quand un fichier .py est exécuté directement, mais pas lorsqu'il est importé en tant que module.

+0

Google Hit # 4: http://docs.python.org/tutorial/modules.html#executing-modules-as-scripts. Complètement documenté dans le tutoriel. –

2

Les modules Python peuvent également être exécutés en tant que scripts autonomes. En tant que tel, le code dans le bloc if __name__ == "__main__": ne s'exécutera que si le module est exécuté en tant que fichier "principal".

Exemple:

#foo.py 
def msg(): 
    print("bar") 

if __name__ == "__main__": 
    msg() 

Exécution Ce module sortie

$ python foo.py 
bar 

où que l'importation ne sera rien de sortie.

>>> import foo 
>>> foo.msg() 
bar 

Reference