Função principal do Python & Exemplo de método: Entenda __main

Índice:

Anonim

O que é a função principal do Python?

A função principal do Python é o ponto de partida de qualquer programa. Quando o programa é executado, o interpretador python executa o código sequencialmente. A função principal é executada apenas quando é executada como um programa Python. Ele não executará a função principal se importado como um módulo.

Qual é a função def main () em Python? Para entender isso, considere o seguinte código de exemplo

def main():print ("hello world!")print ("Guru99")

Aqui, temos duas peças de impressão - uma é definida dentro da função principal que é "Hello World" e a outra é independente, que é "Guru99". Quando você executa a função def main ():

  • Apenas "Guru99" imprime
  • e não o código "Hello World".

É porque não declaramos a função de chamada "if__name __ ==" __main__ ".

É importante que depois de definir a função principal, você chame o código por if__name __ == "__main__" e execute o código, só então você receberá a saída "hello world!" no console de programação. Considere o seguinte código

def main():print("hello world!")if __name__ == "__main__":main()print("Guru99")

Guru99 é impresso neste caso.

Aqui está a explicação,

  • Quando o interpretador Python lê um arquivo-fonte, ele executa todo o código encontrado nele.
  • Quando o Python executa o "arquivo de origem" como o programa principal, ele define a variável especial (__name__) para ter um valor ("__main__").
  • Quando você executa a função principal em python, ela lê a instrução "if" e verifica se __name__ é igual a __main__.
  • Em Python, "if__name __ ==" __main__ " permite que você execute os arquivos Python como módulos reutilizáveis ​​ou programas autônomos.

A variável __name__ e o módulo Python

Para entender a importância da variável __name__ no método da função principal do Python, considere o seguinte código:

def main():print("hello world!")if __name__ == "__main__":main()print("Guru99")print("Value in built variable name is: ",__name__)

Agora considere, o código é importado como um módulo

import MainFunctionprint("done")

Aqui está a explicação do código:

Como C, Python usa == para comparação enquanto = para atribuição. O interpretador Python usa a função principal de duas maneiras

corrida direta:

  • __name __ = __ main__
  • if statement == True, e o script em _main_ será executado

importar como um módulo

  • __name __ = nome do arquivo do módulo
  • if statement == false, e o script em __main__ não será executado

Quando o código for executado, ele verificará o nome do módulo com "if". Este mecanismo garante que a função principal seja executada apenas como execução direta e não quando importada como um módulo.

Os exemplos acima são códigos Python 3, se você quiser usar Python 2, considere o seguinte código

def main():print "Hello World!"if __name__== "__main__":main()print "Guru99"

No Python 3, você não precisa usar if__name. O código a seguir também funciona

def main():print("Hello World!")main()print("Guru99")

Nota: Certifique-se de que após definir a função principal, você deixe algum recuo e não declare o código logo abaixo da função def main (): caso contrário, ocorrerá um erro de recuo.