Saltar al contenido

Función principal de Python con ejemplos: Entender __main__

diciembre 8, 2019

Antes de saltar más a la codificación de Python, nos familiarizamos con la función principal de Python y su importancia.

Considere el siguiente código

def main():
     imprimir "¡Hola mundo!"
imprimir "Guru99"

>

Aquí tenemos dos piezas de impresión, una está definida dentro de una función principal que es «Hello World» y la otra es independiente que es «Guru99». Cuando se ejecuta la función def principal ():

  • Sólo se imprime «Guru99»
  • y no el código «Hola Mundo».

Es porque no declaramos la función llamada «if__name__== «__main__».

  • Cuando el intérprete de Python lee un archivo fuente, ejecutará todo el código que se encuentra en él.
  • Cuando Python ejecuta el «archivo fuente» como programa principal, establece que la variable especial (__nombre__) tenga un valor («__main__»).
  • Cuando ejecute la función principal, leerá la sentencia «if» y comprobará si __nombre__ es igual a __main__.
  • En Python «if__name__== «__main__» permite ejecutar los archivos Python como módulos reutilizables o programas independientes .

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

  • importación: nombre_de_fichero__= nombre_de_fichero_del_módulo

    if statement==false, y el script en __main__ no se ejecutará

  • ejecución directa___nombre__=__principal__

    if == True, y el script en _main_se ejecutará

  • Así que cuando se ejecute el código, comprobará el nombre del módulo con «if».

Es importante que después de definir la función principal, llame al código por if__nombre__== «__main__» y luego ejecute el código, sólo entonces obtendrá la salida «hola mundo» en la consola de programación como se muestra a continuación.

Nota : Asegúrate de que después de definir una función principal, dejas alguna sangría y no declaras el código justo debajo de la función def main(): de lo contrario se producirá un error de sangría.

def main():
  print ("Hello World!")
si __nombre__== "__main__":
  main()
print("Guru99")

>

Los ejemplos anteriores son los códigos de Python 3, si desea usar Python 2, por favor considere el siguiente código

def main():
  imprimir "Hello World!"
si __nombre__== "__main__":
  main()
print "Guru99"

En Python 3, no necesita usar if__name. El siguiente código también funciona

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

>