1
resposta

Duvida sobre esse "main"

Pessoal, no ultimo video desta aula, os professores falam sobre esse tal de if__name__ == 'main':

Eu não entendi absolutamente nada sobre o porque disso, e pra que que isso serve exatamente, qual a importância de se usar isso, e porque transformamos cada bloco de instrução (o bloco de prints, o bloco do titulo do app etc) em funções? E depois chamamos dentro desse main cada um na ordem que queremos? Alguém por favor pode me explicar o que é isso? eu não entendi foi nada...

1 resposta

Oi Lucas, tudo bem?

Quando você vê if __name__ == '__main__': no código Python, isso significa que você está dizendo ao Python para executar o bloco de código dentro desse if apenas se o arquivo está sendo executado diretamente, e não se ele está sendo importado como um módulo em outro script.

Por exemplo:

def funcao_exemplo():
    print("Esta é uma função exemplo")

if __name__ == '__main__':
    funcao_exemplo()

Se você salvar esse código em um arquivo chamado meu_script.py e executá-lo, você verá a saída:

Esta é uma função exemplo

Isso acontece porque __name__ é uma variável especial em Python que recebe o valor '__main__' quando o script está sendo executado diretamente. Se você importar meu_script.py em outro arquivo, como por exemplo:

import meu_script

A função funcao_exemplo() não será executada automaticamente, porque o bloco if __name__ == '__main__': não será verdadeiro nesse caso.

Sobre a organização do código em funções, isso é uma boa prática de programação. Criar funções para diferentes partes do seu código ajuda a torná-lo mais organizado, reutilizável e fácil de entender. Por exemplo, se você tem um bloco de código que imprime o título do seu aplicativo, outro que faz cálculos e outro que imprime resultados, é mais fácil manter e modificar cada parte se elas estiverem encapsuladas em funções separadas.

Deixo o link da documentação para consulta, ela está em inglês, mas você poderá utilizar a tradução automática do navegador.

Espero ter ajudado.

Qualquer dúvida, compartilhe no fórum.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!