Función principal de Python

La función principal es como el punto de entrada de un programa. Sin embargo, el intérprete de Python ejecuta el código directamente desde la primera línea. La ejecución del código comienza desde la línea de inicio y va línea por línea. No importa dónde esté presente la función principal o esté presente o no.

Dado que no hay ninguna main()función en Python, cuando se le da al intérprete el comando para ejecutar un programa de Python, se debe ejecutar el código que está en la sangría de nivel 0. Sin embargo, antes de hacerlo, definirá algunas variables especiales. __name__ es una de esas variables especiales. Si el archivo fuente se ejecuta como el programa principal, el intérprete establece la __name__variable para que tenga un valor __main__. Si este archivo se importa desde otro módulo, __name__ se establecerá con el nombre del módulo.
__name__es una variable integrada que se evalúa como el nombre del módulo actual.

Ejemplo:

# Python program to demonstrate
# main() function
  
  
print("Hello")
  
# Defining main function
def main():
    print("hey there")
  
  
# Using the special variable 
# __name__
if __name__=="__main__":
    main()

Producción:

Hello
hey there

Cuando se ejecuta el programa anterior, el intérprete declara el valor inicial del nombre como «principal». Cuando el intérprete llega a la declaración if, verifica el valor de name y cuando el valor de if es verdadero, ejecuta la función principal; de lo contrario, la función principal no se ejecuta.

Función principal como módulo

Ahora, cuando importamos un script de Python como módulo, la __name__variable obtiene el mismo valor que el nombre del script de Python importado.

Ejemplo: Consideremos que hay dos archivos (Archivo1.py y Archivo2.py). El archivo 1 es el siguiente.

# File1.py 
    
print("File1 __name__ = %s" %__name__)
    
if __name__ == "__main__": 
    print("File1 is being run directly")
else: 
    print("File1 is being imported")

Producción:

File1 __name__ = __main__
File1 is being run directly

Ahora, cuando File1.py se importa a File2.py, el valor de __name__ cambia.

# File2.py 
    
import File1 
    
print("File2 __name__ = %s" %__name__)
    
if __name__ == "__main__":
    print("File2 is being run directly")
else: 
    print("File2 is being imported")

Producción:

File1 __name__ = File1
File1 is being imported
File2 __name__ = __main__
File2 is being run directly

Como se vio anteriormente, cuando File1.py se ejecuta directamente, el intérprete establece la __name__variable como __main__y cuando se ejecuta a través de File2.py al importar, la variable __name__ se establece como el nombre de la secuencia de comandos de python, es decir, File1. Por lo tanto, se puede decir que si __name__ == “__main__” es la parte del programa que se ejecuta cuando el script se ejecuta desde la línea de comandos usando un comando como Python File1.py.

Publicación traducida automáticamente

Artículo escrito por AyushAnandMallik y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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