Pregunta

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

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

¿De dónde obtiene __main__ y __name__?

Gracias por la ayuda

¿Fue útil?

Solución

La variable __name__ se pone a disposición por el tiempo de ejecución. Es el nombre del módulo actual, el nombre con el que se importó. "__main__" es una cadena. No es especial, es sólo una cadena. También pasa a ser el nombre del script principal cuando se ejecuta.

El mecanismo if __name__ == "__main__": es la forma común de hacer algo cuando un archivo .py se ejecuta directamente, pero no cuando se importa como un módulo.

Otros consejos

módulos de Python pueden también ser ejecutados como procesos independientes. Como tal, el código dentro del bloque if __name__ == "__main__": sólo se ejecutará si el módulo se ejecuta el archivo como "principal".

Ejemplo :

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

if __name__ == "__main__":
    msg()

La ejecución de este módulo de salida

$ python foo.py
bar

donde como la importación hará salir nada.

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

Referencia

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top