Función principal de Python & Ejemplo de método: comprender __main

¿Qué es la función principal de Python?

La función principal de Python es un punto de partida de cualquier programa. Cuando se ejecuta el programa, el intérprete de Python ejecuta el código secuencialmente. La función principal se ejecuta solo cuando se ejecuta como un programa Python. No ejecutará la función principal si se importó como módulo.

¿Cuál es la función def main () en Python? Para comprender esto, considere el siguiente código de ejemplo

def main():print ("hello world!")print ("Guru99")

Aquí, tenemos dos piezas de impresión: una se define dentro de la función principal que es "Hola mundo" y la otra es independiente, que es "Guru99". Cuando ejecuta la función def main ():

  • Solo se imprime "Guru99"
  • y no el código "Hola mundo".

Es porque no declaramos la función de llamada "if__name __ ==" __main__ ".

Es importante que después de definir la función principal, llame al código por if__name __ == "__main__" y luego ejecute el código, solo entonces obtendrá el resultado "¡hola mundo!" en la consola de programación. Considere el siguiente código

def main():print("hello world!")if __name__ == "__main__":main()print("Guru99")

Guru99 está impreso en este caso.

Aquí está la explicación,

  • Cuando el intérprete de Python lee un archivo fuente, ejecutará todo el código que se encuentre en él.
  • Cuando Python ejecuta el "archivo fuente" como programa principal, establece la variable especial (__name__) para que tenga un valor ("__main__").
  • Cuando ejecuta la función principal en Python, leerá la instrucción "if" y verificará si __name__ es igual a __main__.
  • En Python, "if__name __ ==" __main__ "le permite ejecutar los archivos de Python como módulos reutilizables o como programas independientes.

La variable __name__ y el módulo Python

Para comprender la importancia de la variable __name__ en el método de función principal de Python, considere el siguiente código:

def main():print("hello world!")if __name__ == "__main__":main()print("Guru99")print("Value in built variable name is: ",__name__)

Ahora considere, el código se importa como un módulo

import MainFunctionprint("done")

Aquí está la explicación del código:

Al igual que C, Python usa == para la comparación mientras que = para la asignación. El intérprete de Python usa la función principal de dos maneras

ejecución directa:

  • __nombre __ = __ principal__
  • if instrucción == True, y el script en _main_ será ejecutado

importar como módulo

  • __name __ = nombre de archivo del módulo
  • si declaración == falsa, y el script en __main__ no se ejecutará

Cuando se ejecuta el código, comprobará el nombre del módulo con "si". Este mecanismo garantiza que la función principal se ejecute solo como ejecución directa, no cuando se importe como un módulo.

Los ejemplos anteriores son códigos de Python 3, si desea utilizar Python 2, considere el siguiente código

def main():print "Hello World!"if __name__== "__main__":main()print "Guru99"

En Python 3, no es necesario utilizar if__name. El siguiente código también funciona

def main():print("Hello World!")main()print("Guru99")

Nota: Asegúrese de que después de definir la función principal, deje una sangría y no declare el código justo debajo de la función def main (): de lo contrario, dará un error de sangría.

Articulos interesantes...