O que faz if __name__ == “__main__”: do?

Quando o intérprete de Python lê um arquivo de origem, ele executa todo o código encontrado nele.

Antes de executar o código, ele irá definir algumas variáveis especiais. Por exemplo, se o intérprete python estiver executando esse módulo (o arquivo fonte) como o programa principal, ele define o especial __name__ variável para ter um valor "__main__". Se este arquivo estiver sendo importado de outro módulo, __name__ será definido como o nome do módulo.

No caso do seu script, vamos assumir que ele está sendo executado como a função principal, p. você disse algo como

python threading_example.py

na linha de comando. Depois de configurar as variáveis especiais, ele executará o import declaração e carregue esses módulos. Em seguida, avaliará a def bloco, criando um objeto de função e criando uma variável chamada myfunction que aponta para o objeto de função. Em seguida, lê o if declaração e veja isso __name__ faz igual "__main__", então executará o bloco mostrado lá.

Uma razão para isso é que às vezes você escreve um módulo (um .py arquivo) onde ele pode ser executado diretamente. Alternativamente, também pode ser importado e usado em outro módulo. Ao fazer a verificação principal, você pode ter esse código somente executado quando quiser executar o módulo como um programa e não executá-lo quando alguém quiser apenas importar seu módulo e chamar suas próprias funções.

Veja esta página para obter alguns detalhes extras.

· · · ·

Junte-se a nós e esteja sempre atualizado com as últimas novidades e dicas