Saltar al contenido

Ejemplo de función principal y modo Python: comprender __main__

¿Cuál es la función principal de Python?

La función principal de Python como punto de partida para cualquier programa. Cuando se ejecuta el programa, el intérprete de Python ejecuta el código secuencialmente. La función principal solo se realiza 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 principal def () en Python? Para comprender esto, considere el siguiente código de muestra


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

Aquí encontramos dos piezas impresas: una está definida dentro de la función principal que es “Hola mundo” y la otra es independiente, “Guru99”. Cuando ejecuta la función def principal ():

  • Solo imprime “Guru99”
  • y no el código “Hola mundo”.

Es porque no confirmamos la llamada. Función “if__name __ ==” __main__ “.

Es importante que, después de definir la función principal, llame al código con if__name __ == “__main__” y luego pase el código, entonces obtendrá el resultado “¡hola mundo!” en la consola registrada. 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 un 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, determina que la variable especial (__name__) (“__main__”) tiene un valor.
  • Cuando ejecute la función principal en Python, leerá la declaración “if” y verificará si __name__ es igual a __main__.
  • A Python “if__name __ ==” __main__ “ te permite ejecutar los archivos de Python módulos reutilizables o programas independientes.

La variable __name__ y el módulo Python

Para comprender la importancia de las variables __name__ en el modo 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 piense, el código se importa como un módulo

import MainFunction

print("done")

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

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

ejecución directa:

  • __nombre __ = __ principal__
  • if declaración == Verdadero, y ejecute el script en _main_will

importar como módulo

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

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

Arriba están los códigos de Python 3, si desea usar Python 2, considere usar 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 un poco de sangría y no declare el código debajo de def main (): de lo contrario, una función dará un error de guión.

Sobre Krishna Rungta

Krishna tiene más de 15 años de experiencia en pruebas y desarrollo de software profesional, como colaborador exclusivo, como líder técnico y, en la actualidad, como director ejecutivo de Guru99.

Deja una respuesta

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