En Python, la estructura if __name__ == "__main__":
se usa para indicar que un script está siendo ejecutado directamente y no importado como módulo en otro programa. Esto permite que ciertas partes del código solo se ejecuten cuando el archivo se ejecuta como un programa principal.
Cuando Python ejecuta un script, define automáticamente una variable especial llamada __name__
. Su valor depende de cómo se ejecuta el script:
__name__
toma el valor "__main__"
.
__name__
toma el nombre del módulo (el nombre del archivo sin la extensión .py
).
# archivo script.py
def funcion():
print("Esta función se ha ejecutado")
if __name__ == "__main__":
print("Este script se está ejecutando directamente")
funcion()
Si ejecutamos script.py
, la salida será:
Este script se está ejecutando directamente
Esta función se ha ejecutado
Si importamos script.py
en otro archivo, como en otro_script.py
:
import script
La salida será vacía, porque el bloque dentro de if __name__ == "__main__":
no se ejecutará.
1. Evita la ejecución de código al importar el módulo.
2. Permite reutilizar funciones y clases sin ejecutar el código principal.
3. Facilita la estructuración de programas Python grandes.
Jorge García
Fullstack developer