Python Exemplo de função e método principal: entenda def Main()
O que é o Python Função principal?
Python função principal é um ponto de partida de qualquer programa. Quando o programa é executado, o interpretador python executa o código sequencialmente. A função principal é executada somente quando é executada como uma Python programa. Não executará a função principal se for importada como um módulo.
Qual é a função def main() em Python? Para entender isso, considere o seguinte código de exemplo
def main() Exemplo 1
def main(): print ("Hello World!") print ("Guru99")
Aqui, temos duas peças impressas - uma é definida na função principal que é “Hello World!” e o outro é independente, que é “Guru99”. Ao executar a função def main():
- Apenas “Guru99” é impresso
- e não o código “Hello World!”
É porque não declaramos a chamada função “se__nome__== “__main__”.
É importante que após definir a função main, você chame o código por if__name__== “__main__” e depois execute o código, só então você obterá a saída “hello world!” no console de programação. Considere o seguinte código
def main() Exemplo 2
def main(): print("Hello World!") if __name__ == "__main__": main() print("Guru99")
Guru99 é impresso neste caso.
Aqui está a explicação,
- Quando Python interpretador lê um arquivo fonte, ele executará todo o código encontrado nele.
- Quando Python executa o “arquivo fonte” 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__.
- In Python “se__nome__== “__principal__” permite que você execute o Python arquivos como módulos reutilizáveis ou programas independentes.
A variável __name__ e Python Módulo
Para entender a importância da variável __name__ em Python método da função principal, 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 que o código é importado como um módulo
import MainFunction print("done")
Aqui está a explicação do código:
Como C, Python usa == para comparação enquanto = para atribuição. Python intérprete usa a função principal de duas maneiras
corrida direta:
- __nome__=__principal__
- 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 Python 3 códigos, se quiser usar Python 2, considere o seguinte código
def main(): print "Hello World!" if __name__== "__main__": main() print "Guru99"
In 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á erro de recuo.