La variable __name__ en Python es una variable especial incorporada en el entorno de Python. Este posee un uso bastante significativo: se utiliza para verificar si un módulo se está ejecutando como el programa principal.
¿Qué implica esto?
Cuando ejecutas un script de Python, Python asigna el valor __main__ a la variable __name__. Específicamente, __name__ se convierte en __main__ cuando el script está corriendo por sí mismo y no es importado como un módulo.
print(__name__)
Si ejecutas este script de Python, verás que imprime __main__.
Ahora, digamos que tienes un script Python llamado codigo.py y lo importas como módulo desde otro script Python. En este caso, el valor de __name__ se convertirá en el nombre del módulo en lugar de __main__.
En el archivo codigo.py:
def funcion():
    print("¡Esta es una función del módulo codigo.py!")
print("El valor de __name__ es: ", __name__)
En un segundo archivo Python, importamos el módulo codigo.py:
import codigo
El resultado será:
El valor de __name__ es: codigo
Este uso de __name__ en Python es fundamental para escribir código que pueda actuar como un módulo reusable o como un programa independiente. Esto es posible al crear una sección en el código que solo se ejecuta cuando el script es el programa principal:
if __name__ == "__main__":
    # Este código solo se ejecutará si el script es el programa principal
El uso de __name__ se considera una buena práctica en Python y contribuye a la legibilidad y eficiencia del código. Además, puede ayudar a evitar problemas con las variables globales entre módulos y minimizar la posibilidad de errores en proyectos grandes y complicados.