Função principal do Python

A função principal do Python é executada apenas quando está sendo executado como um programa Python. Como você sabe, também podemos importar um programa Python como um módulo; nesse caso, o método principal do Python não deve ser executado.

Função principal do Python

A função principal é o ponto de entrada de qualquer programa. Mas o interpretador Python executa o código do arquivo fonte sequencialmente e não chama nenhum método se não fizer parte do código. No entanto, se estiver diretamente no código, será executado quando o arquivo for importado como um módulo. Por isso, há uma técnica especial para definir o método principal em um programa Python, para que ele seja executado apenas quando o programa for executado diretamente e não seja executado quando importado como um módulo. Vamos ver como definir a função principal do Python em um programa simples. python_main_function.py

print("Hello")

print("__name__ value: ", __name__)


def main():
    print("python main function")


if __name__ == '__main__':
    main()
  • Quando um programa Python é executado, o interpretador Python começa a executar o código dentro dele. Ele também define alguns valores de variáveis implícitas, sendo um deles __name__, cujo valor é definido como __main__.

  • Para a função principal em Python, temos que definir uma função e então usar a condição if __name__ == '__main__' para executar esta função.

  • Se o arquivo fonte em Python for importado como módulo, o interpretador Python define o valor de __name__ para o nome do módulo, então a condição if retornará falso e o método principal não será executado.

  • O Python nos fornece flexibilidade para manter qualquer nome para o método principal, no entanto, é uma prática recomendada nomeá-lo como método main(). O código abaixo está perfeitamente correto, porém não é recomendado.

    def main1():
        print("Função principal em Python")
    
    
    if __name__ == '__main__':
        main1()
    

Abaixo está a imagem da saída quando o arquivo de origem python_main_function.py é executado.

Função principal do Python como módulo

Agora vamos usar o arquivo de origem em Python acima como um módulo e importá-lo em outro programa. python_import.py

import python_main_function

print("Done")

Agora, quando o programa acima é executado, a saída abaixo é produzida.

Hello
__name__ value:  python_main_function
Done

Observe que as duas primeiras linhas são impressas a partir do arquivo de origem python_main_function.py. Observe que o valor de __name__ é diferente e, portanto, o método principal não é executado. Observe que as instruções do programa Python são executadas linha por linha, portanto, é importante definir o método main() primeiro antes da condição if para executar o método principal. Caso contrário, você receberá um erro como NameError: name 'main' is not defined. Isso é tudo sobre a função principal do Python. Referência: Python Docs

Source:
https://www.digitalocean.com/community/tutorials/python-main-function