Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

__Main__ == __Name__

Ainda estou com dúvida nisso: Main == Name. O que acontece se eu não usar ele no código? Qual a diferença ao executar cada um com e sem ele?

1 resposta
solução!

Olá Marconi, tudo bem?

Ao ser executado, antes de seguir as instruções no script do arquivo o interpretador do Python cria algumas variáveis globais. Se o módulo executado, por exemplo uma função esteja sendo executado no mesmo arquivo em execução, a variável especial name recebe o nome de "main".

Se, ao invés disso, o módulo (função como exemplo estiver sendo executado através de outro arquivo, ou seja, a função foi importada, a variável name receberá o nome do módulo.

Digamos que temos dois arquivos:

main.py

def hello_world():
    print("Hello world")

if __name__ == "__main__":
    hello_world()

ao executarmos: $ python main.py

veremos no terminal: Hello world

agora outro arquivo: script.py

from main import hello_world

def function():
    print("Outro módulo")

if __name__ == "__main__":
    function()

ao executarmos: $ python script.py

veremos: Outro módulo

A função hello_world não será executada, somente se for chamada no módulo script.py

Espero ter ajudado.