Python: o que if __name__ == “__main__”: faz?
Neste artigo veremos em detalhes o que if __name__ == “__main__”: faz, uma instrução que as vezes nos deparamos em bibliotecas, por exemplo.
Fala programador(a), beleza? Bora aprender mais sobre Python!
Esta instrução é encontrada as vezes em bibliotecas/códigos de terceiros e parece um tanto misteriosa, o que será que ela faz?
Basicamente podemos entender que quando o nosso código de um arquivo não é importado em outro __name__ será __main__
Já quando se o nosso arquivo foo.py, por exemplo, é importado no arquivo bar.py
O valor de __name__ se torna bar.py, no arquivo foo.py
Em bar o __name__ ainda é __main__, pois é o arquivo ‘principal’
Veja os exemplos a seguir:
def imprimirAlgumaCoisa():
print("Imprime apenas se __name__ for __main__, ou seja, foo não foi importado")
if(__name__ == "__main__"):
imprimirAlgumaCoisa()
else:
print("__name__ não é __main__, foo foi importado e o __name__ é: " + __name__)Neste caso teremos a impressão de:
Imprime apenas se __name__ for __main__, ou seja, foo não foi importado
Pois __name__ é __main__, ele é o arquivo principal rodando
Agora vejamos o que acontece se importamos o foo.py neste arquivo bar.py:
import foo
print("O name em bar é: " + __name__)Teremos a seguinte saída se rodarmos bar.py:
__name__ não é __main__, foo foi importado e o __name__ é: foo O name em bar é: __main__
Isso pelo fato explicado anteriormente, o arquivo foo foi importado
Então o nome do __main__ é alterado também
E a validação if __name__ == “__main__” só é True, quando este arquivo não for importado em outros
Conclusão
Neste artigo vimos o que if __name__ == “__main__”: faz e como podemos utilizá-la
A ideia é que o o __name__ apenas é __main__ no seu arquivo, quando ele não é importado em outros
Se for importado, o __name__ dele será o nome do arquivo, quando for chamado por este outro arquivo em que ele foi importado
Confira também nosso catálogo de cursos gratuitos, com aulas semanais no YouTube
Formações
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 473 aulas
- 20 projetos
- 39h 26min
Blog | Mais populares

As diferenças de var, let e const

Checklist de segurança n8n VPS pública: guia essencial para proteger sua instalação
Checklist de segurança n8n VPS pública: guia essencial para proteger sua instalação A popularidade da automação de processos com o n8n está em alta, principalmente […]

Como fazer redirecionamento com PHP
Neste artigo você vai aprender a como fazer redirecionamento com PHP, utilizaremos abordagens fáceis de entender e de aplicar Fala programador(a), beleza? Bora aprender mais […]

