Bem vindo de volta.
Para finalizar nossa compreensão dos módulos, temos que falar sobre um conceito importante, que é
essa ideia de main.
Ou especificamente sublinhado, sublinhado, principal.
Porque conforme você começa a desenvolver sua carreira, você vai começar a ver muitos códigos como este.
Agora, esta é uma das linhas mais comuns que você verá ao trabalhar com Python.
E neste vídeo, quero explicar o que ele faz.
Porque é um dos tópicos mais confusos, principalmente para iniciantes.
Por enquanto, vou comentar e fazer algumas coisas.
Temos nosso arquivo DCPI principal aqui.
E eu quero fazer algumas coisas primeiro, vou abrir nosso carrinho de compras, que está bem aqui.
E aqui no topo, vou imprimir, porque no momento nosso arquivo não está fazendo nada.
Vou dizer imprimir, sublinhado, sublinhado, nome assim.
E vou fazer o mesmo com o utilitário dogpile.
Portanto, no topo, o utilitário DCPI.
Agora, se eu executar o principal aqui, vamos clicar em executar aqui.
Eu pego essas duas coisas impressas.
Agora, por que isso?
Bem, quando eu executo um arquivo python.
Normalmente executamos apenas um arquivo, certo, o arquivo principal em que estamos trabalhando em nosso caso, nosso arquivo principal
por acaso se chama DCPI Principal.
Então, quando clico em executar, o intérprete passa linha por linha por aqui.
A primeira coisa que ele faz é importar o módulo de utilitário.
E habilite esses dois arquivos.
Então, o que vai fazer é ir ao arquivo do utilitário e executá-lo e automaticamente cada arquivo que executamos ou
cada módulo.
Recebe um nome quando nosso caso é o nome do utilitário de modelo, portanto, quando você importa algo em Python,
ele encontra o módulo e executa um código.
Então, ele adiciona esse código à memória porque vamos ter que usar multiply, divide emacs e então segue para a
próxima linha.
No nosso caso, é aqui que importamos novamente do carrinho de compras.
Então, vai dizer, ei, o nome disso é ponto de compras, mais ponto de compras carrinho de compras, porque esse é o
nome do módulo.
E, finalmente, vai passar por aqui porque, a essa altura, ponto por linha, esses arquivos já foram executados
e agora estão na memória.
Agora, o intérprete tem acesso para dividir, multiplicar e todas essas funções que importamos.
Agora, aqui está minha pergunta, e se eu fizer aqui ou no final, imprimir o nome de sublinhado e sublinhado neste
arquivo principal, se eu executar aqui?
Você vê que eu obtenho sublinhado, sublinhado, principal.
É isso que você esperava?
E se eu alterasse o nome deste arquivo, digamos refatorar?
E diga renomear.
Sim, tudo bem, queremos renomeá-lo e vamos renomeá-lo para, digamos, Teste DCPI.
Então agora isso é chamado de teste.
Qual você acha que é o nome de sublinhado disso se eu correr aqui?
Eu ainda recebo sublinhado, sublinhado, principal.
Então talvez isso esteja começando a fazer sentido agora quando você vê o código, se sublinhado, sublinhado
nome, vai para sublinhado, sublinhado, sublinhado principal.
Então, esses são Dundas.
Então faça algo.
E este, o nome principal, é dado especificamente ao arquivo que executamos porque lembre-se de quando tivemos problemas quando eu jogo
ou quando eu faço no meu terminal Python três e digo teste Stoppie, eu corro aquele único arquivo e
aquele arquivo único importa módulos diferentes e os executa.
Esse arquivo que executamos obtém esse padrão.
Sublinhado, sublinhado maio.
Portanto, o motivo pelo qual você pode ver linhas como esta no Python é que às vezes queremos
ter certeza de que executamos um módulo apenas se este for o módulo ou o módulo principal.
Portanto, posso dizer, aqui, imprimir, por favor, execute isto.
E vamos remover esta impressão por agora e clicar em executar.
Você vê que isso eu recebo, execute-o, mas se eu copiar este código e digamos colocá-lo no utilitário.
Assim e eu clico, corro, você vê que, por favor, rode, isso não aparece no utilitário só no
final quando estamos rodando esse teste.
Por que porque?
Bem, o nome deste arquivo não sou eu, o nome, lembre-se, é utilitário.
Portanto, esta é uma boa maneira de executarmos apenas o código do arquivo principal.
Portanto, esta é uma estrutura comum conforme os projetos ficam maiores e maiores, talvez tenhamos um código que não queremos executar
a menos que seja o arquivo principal.
Em nosso caso, digamos que não queremos executar nenhum desses.
A menos que este seja o arquivo principal sendo chamado. Se eu executar isso agora, você verá que e eu obtiver um erro,
diz que a linha um no módulo não pode importar o nome multiplicar do utilitário porque, bem, não podemos importar isso porque não o fizemos
para executar este trecho de código.
Então, vamos reverter isso.
Volte aqui e o que podemos fazer agora é realmente embrulhar tudo isso.
Assim, para que possamos ter certeza de que o teste só roda se bem, que somente se este for o que está sendo executado, ele
não deve ser importado, deve ser apenas o arquivo principal que executamos.
Agora, lembre-se de quando tínhamos uma classe, digamos que tínhamos um arquivo principal e criamos uma classe, digamos
aluno.
E esse aluno, digamos, não tem nada, mas quando fazemos tipo de aluno.
E imprimimos aqui.
E eu clico em correr.
OK, vamos instanciar os alunos, então vamos dizer que aluno um é igual a aluno.
E vamos apenas pegar o tipo de aluno, se eu clicar, corro.
Você se lembra de como temos esse sublinhado, sublinhado, aluno de ponto médio?
O que está dizendo é que esta classe foi criada.
No arquivo principal que rodamos, se, por exemplo, eu copio isso, adiciono ao utilitário assim.
E agora no meu arquivo principal.
Eu importo utilitário.
E digamos ponto utilitário.
Passo um e faça.
E depois imprima.
O que vai acontecer então?
Bem, nós temos um aluno de ponto de utilidade de classe.
Então, sempre que víamos aquele Maine, tudo o que dizia era, ei, essa era uma classe criada no arquivo do
Maine.
Novamente, esta é uma daquelas coisas que você verá muito.
Mas no final do dia, tudo o que significa é que eu quero ter certeza de que, se este for
o arquivo que está sendo executado, porque um arquivo pode ser executado ou importado, se este for o arquivo executado, será
o arquivo principal e, em seguida, faça algo.
Portanto, é uma boa forma de verificar como nossos módulos estão sendo usados, se importados ou executados.
Esperançosamente, isso fez sentido no próximo vídeo, vamos falar sobre algo empolgante chamado módulo
integrado.
Eu te vejo nisso.
Bye Bye.