if __name__== "__main__" : 
            is True?

if __name__== "__main__" : is True?

O que é e pra que serve esse bloco de código

Para que serve essa linha de código? Vamos entender hoje como usar e pra que serve...


O código em Python é executado linha por linha, do topo para baixo, quando um arquivo é executado. No entanto, existem algumas exceções a essa regra, e uma delas é o uso do condicional if __name__ == "__main__".

Ao escrever um script em Python, é comum ter algumas seções de código que você deseja executar somente quando o arquivo é executado diretamente. Essa é a finalidade do if __name__ == "__main__".

Antes de explicar como isso funciona, vamos entender o que é a variável __name__. Em Python, toda vez que um arquivo é executado, o interpretador Python define automaticamente uma variável especial chamada __name__ para conter o nome do arquivo.

Por exemplo, se você tem um arquivo chamado meu_script.py, quando você o executa, o Python define a variável __name__ como "__main__". Se o arquivo for importado como um módulo em outro script Python, o Python definirá __name__ como o nome do arquivo.

Então, voltando ao condicional if __name__ == "__main__", o que isso faz é verificar se o arquivo está sendo executado diretamente pelo interpretador Python (ou seja, se __name__ é igual a "__main__") ou se está sendo importado como um módulo por outro arquivo Python.

Se o arquivo está sendo executado diretamente, todo o código dentro do bloco if será executado. Se o arquivo está sendo importado como um módulo, o bloco if não será executado.

Vamos a um exemplo simples. Suponha que você tenha o seguinte código em um arquivo chamado meu_script.py:

def minha_funcao():
    print("Executando minha_funcao")

print("Executando script")

if __name__ == "__main__":
    print("Executando como script")

Se você executar meu_script.py diretamente (por exemplo, digitando python meu_script.py no terminal), você verá a seguinte saída:

Executando script
Executando como script

Isso ocorre porque todo o código é executado, e a variável __name__ é definida como "__main__", então o bloco if é executado e a mensagem "Executando como script" é impressa na tela.

No entanto, se você importar meu_script.py como um módulo em outro arquivo Python, por exemplo, com o código import meu_script, você verá a seguinte saída:

Executando script

Isso ocorre porque o bloco if não é executado, já que __name__ é definido como o nome do arquivo ("meu_script") e não como "__main__".

Em resumo, o condicional if __name__ == "__main__" é uma maneira útil de incluir seções de código que você deseja que sejam executadas somente quando o arquivo é executado diretamente, e não quando o arquivo é importado como um módulo.

Com sempre, fique a vontade em entrar em contato pelas minhas redes sociais.