Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> python

Entendiendo la Función Main en Python: Guía Práctica de def main()

¿Qué es la Función Main en Python?

La función main en Python marca el punto de entrada de un programa. Cuando un script se ejecuta directamente, el intérprete ejecuta el código secuencialmente. El código dentro de def main() solo se ejecuta si el script es el módulo principal, no cuando se importa en otro lugar.

Recorramos un ejemplo claro.

Ejemplo 1: Definiendo main()

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

Ejecutar este archivo imprime solo Guru99. La línea Hello World! permanece dentro de main() y nunca se llama.

Para ejecutar main() cuando el script corre como programa principal, debe protegerlo con:

if __name__ == "__main__":
    main()

Ahora el script se comporta como se espera.

Ejemplo 2: Protección Correcta

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

Cuando ejecuta este archivo, la consola muestra:
Hello World!
Guru99

¿Por qué funciona esto? El intérprete establece la variable especial __name__ a "__main__" cuando un archivo se ejecuta directamente. La protección verifica esa condición antes de llamar a main().

El Rol de __name__ y Módulos

Entender __name__ es esencial para escribir código reutilizable.

def main():
    print("hello world!")
if __name__ == "__main__":
    main()
print("Guru99")
print("Valor en variable integrada name es: ", __name__)

Ejecutar el archivo directamente imprime los dos mensajes y __name__ como "__main__". Si importa este script como módulo:

import mainfunction
print("done")

verá solo done y __name__ reflejará el nombre del módulo, por lo que main() no se ejecuta automáticamente.

En resumen:

Python 3 no requiere if __name__ == "__main__": para scripts simples, pero usar la protección es una mejor práctica, especialmente cuando el archivo puede ser reutilizado. En Python 2, la sintaxis permanece igual, pero las sentencias print difieren:

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

En Python 3, también puede escribir:

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

Recuerde: mantenga siempre la indentación adecuada después de la línea def main(): para evitar errores.

python

  1. Funciones lambda en Python: Guía práctica de funciones anónimas
  2. Generadores en Python: Iteración Eficiente y Casos de Uso Avanzados
  3. Explicación de Closures en Python: Cómo las Funciones Anidadas Capturan Variables
  4. Dominando Decoradores en Python: Mejora Funciones con Técnicas Expertas
  5. Domine el Método strip() de Python: Guía Completa y Ejemplos Prácticos
  6. Python len(): Guía Práctica para Medir Longitud de Objetos
  7. Domine el Método String.find() en Python: Sintaxis, Ejemplos y Alternativas
  8. Dominando las funciones lambda en Python: ejemplos prácticos y mejores prácticas
  9. Función round() en Python explicada con ejemplos prácticos
  10. Dominando la función map() de Python: sintaxis, ejemplos y mejores prácticas
  11. Dominando yield en Python: Generadores vs Return – Guía práctica