Entorno de script de nivel superior principal
Qué es
__main__ es el nombre del ámbito en el que se ejecuta el código de nivel superior. El nombre de un módulo se establece igual a __main__ cuando se lee desde la entrada estándar, un script o un indicador interactivo.
Un módulo puede descubrir si se está ejecutando en el ámbito principal comprobando su propio __name__, lo que permite una idiomática común para ejecutar código condicionalmente en un módulo. Cuando se ejecuta como un script o con python -m, pero no cuando se importa:
# __name__ == "__main__": comprobar si el script se ejecuta directamente (no se importa)
if __name__ == "__main__": # Verdadero cuando se ejecuta como script, Falso cuando se importa
# ejecutar solo si se ejecuta como script
main()
Para un paquete, se puede lograr el mismo efecto incluyendo un módulo main.py, cuyo contenido se ejecutará cuando el módulo se ejecute con -m.
Por ejemplo, si estamos desarrollando un script diseñado para ser utilizado como módulo, deberíamos hacer:
# Ejemplo: la función se puede importar, pero el código de prueba solo se ejecuta cuando se ejecuta directamente
def add(a, b):
return a+b
if __name__ == "__main__": # Solo se ejecuta cuando se ejecuta el archivo, no cuando se importa
add(3, 5)
Inicia sesión para responder este quiz y rastrear tu progreso de aprendizaje
__name__ cuando un archivo Python se ejecuta directamente como un script?"**main**"NoneTrueVentajas
- Cada módulo de Python tiene definido su
__name__y si este es__main__, implica que el módulo es ejecutado de forma independiente por el usuario, y podemos realizar las acciones apropiadas correspondientes. - Si importa este script como un módulo en otro script, el nombre se establece en el nombre del script/módulo.
- Los archivos de Python pueden actuar como módulos reutilizables o como programas independientes.
if __name__ == "__main__":se utiliza para ejecutar algo de código solo si el archivo se ejecuta directamente y no se está importando.
Inicia sesión para responder este quiz y rastrear tu progreso de aprendizaje
if __name__ == "__main__":?