Lo que hace si __name__ == ‘__main__’: hacer en Python?

__main__ en Python : Aquí, vamos a aprender lo que hace si __name__ == ‘__main__’: hacer en lenguaje de programación Python?

Con el fin de comprender los detalles de variables __name__ y la condición if, vamos adelante a través de un ejercicio sencillo. Ejecutar un archivo de Python sencilla con sólo las siguientes líneas y ejecutar el archivo como código python3,

print("module_name :{}".format(__name__))
-bash-4.2$ python3 if_main.py
module_name :__main__
-bash-4.2$

En el ejemplo anterior, la salida de los estados del programa que la variable de __name__ tiene un valor de __main__ . Por lo tanto, lo que sucede es, en el fondo cuando pitón ejecuta un archivo que pasa a través antes de que incluso se ejecuta ningún código, establece algunas variables especiales y ‘nombre’ es una de esas variables especiales y cuando Python ejecuta el código que establece la ‘__name__’ variable para ‘__main__’ .

También podemos class los módulos, y cuando los módulos se importan al __name__ variable de se establece en el nombre del archivo.

Ejemplo:

Crear un archivo llamado second_module.py , y en second_module.py añadir las siguientes líneas y ejecutar el archivo.

import if_main
print("second module_name :{}".format(__name__))
-bash-4.2$ python3 second_module.py
module_name :if_main
second module_name :__main__
-bash-4.2$

En el ejemplo anterior, vemos que el archivo importado imprime el nombre del archivo y la __main__ , la razón es que el archivo importado no se ejecuta directamente por el pitón en su lugar es un archivo second_module impresiones importados y por lo tanto la variable __name__ se establece en el nombre del archivo y el second_module está directamente dirigido por el pitón y por lo tanto la variable __name__ se establece en el __main__ . Ahora volviendo al tema de lo que hace si __name__ == ‘__main__’ hacer?

¿Qué si __name__ == “__main__”: hacer?

Cuando se comprueba la condición anterior, es a import si el archivo está directamente dirigido por el pitón o está siendo importada. El siguiente ejemplo explica el uso de la condición if,

Archivo 1: if_main.py

def main():
print("module_name :{}".format(__name__))
if __name__ == "__main__":
main()
else:
print("run from import")

Archivo 2: second_module.py

import if_main
print("second module_name :{}".format(__name__))

-bash-4.2$ python3 second_module.py
run from import
second module_name :__main__
-bash-4.2$
-bash-4.2$ python3 if_main.py
module_name :__main__
-bash-4.2$

Ventajas

  1. La razón para utilizar esta es asegurar ejecutar algún código sólo cuando se ejecuta directamente desde el archivo assert y algo de código se ejecuta sólo cuando se importa.
  2. El archivo de Python se puede utilizar ya sea como un programa independiente o un módulo reutilizable.


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *