Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

if __name__ = "__main__" #287

Closed
jnbaltra opened this issue Apr 6, 2020 · 2 comments
Closed

if __name__ = "__main__" #287

jnbaltra opened this issue Apr 6, 2020 · 2 comments
Assignees
Labels
general resuelto Issues resueltas

Comments

@jnbaltra
Copy link

jnbaltra commented Apr 6, 2020

Que significa if __name__ = "__main__" ?
Lo he leído en muchisimos códigos, luego de eso llaman a la funciones que corren el programa.

@KnowYourselves KnowYourselves self-assigned this Apr 6, 2020
@KnowYourselves
Copy link
Contributor

Hola @jnbaltra!

Un problema con Python es que cuando importas un archivo se ejecuta todo su contenido. Esto quiere decir que si importas un archivo y este tiene prints, llamados a funciones u otras cosas, todo eso se va a ejecutar.

Para nuestra suerte Python posee una variable llamada __name__ que nos dice cual es el nombre del archivo ejecutado. La gracia de esto es que cuando se ejecuta un archivo desde la consola de comandos su nombre va a ser __main__ mientras que todos los archivos que este importe van a tener otro nombre.

Esto quiere decir que para evitar que se ejecute código no deseado, después de definir las funciones y clases de un código, otro código misceláneo se pone dentro de ese if que lo que hace es chequear si efectivamente el archivo que fue ejecutado en consola.

Una gracia de esto es que si por ejemplo tu tienes 3 archivos en tu carpeta y quieres hacer pruebas en uno de estos, puedes hacer todas estas después de este if, luego cuando ejecutes tu archivo principal estás no se van a ejecutar por lo mismo que te acabo de decir.

Esppero se haya entendido!

@KnowYourselves KnowYourselves added general resuelto Issues resueltas labels Apr 6, 2020
@aaossa
Copy link
Member

aaossa commented Apr 7, 2020

Para complementar la súper respuesta de @KnowYourselves ✨ , puedes revisar el notebook de modularización, correspondiente a la semana 0 de los contenidos (click aquí) 🤓

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
general resuelto Issues resueltas
Projects
None yet
Development

No branches or pull requests

4 participants