Python · Essencial · Português · Técnico
bloco main
O trecho if __name__ == '__main__': que só executa quando o arquivo é rodado diretamente, e não quando é importado por outro módulo.
Onde usar
Aparece no fim de scripts que também funcionam como biblioteca. Sem ele, importar o arquivo executaria o código principal como efeito colateral.
Em código
def main():
print('olá')
if __name__ == '__main__':
main()Exemplos
Coloque a chamada no bloco main para o import não executar o script.
Os testes importam o módulo, então o bloco main não roda.
Cuidado
Não é uma função main obrigatória como em C ou Java; o Python executa o arquivo de cima para baixo, e esse if é só uma convenção.
Sinônimos
ponto de entrada do script