🚀 Capítulo 05: Reunindo os Vingadores

NOTE

Este capítulo utiliza a temática de Vingadores para explicar a modularização e importação de arquivos em Python. Aprenda a dividir o seu projeto em vários arquivos menores!


🎯 Objetivo da Aula

Compreender como organizar um projeto Python dividindo o código em vários arquivos (módulos) e como usá-los através do comando import.

🏢 O Cenário Prático (Seu Desafio)

Para salvar o universo de uma grande ameaça, o diretor da S.H.I.E.L.D., Nick Fury, não pode contar apenas com um herói. Ele precisa reunir os Vingadores, que estão espalhados por diferentes arquivos de dados. Cada herói tem suas próprias funções e habilidades em seu próprio arquivo .py.

No Python, quando o nosso projeto começa a crescer, colocar todo o código em um único arquivo gigantesco vira um caos.

  • A boa prática diz que devemos separar o código em arquivos menores (módulos).
  • O desafio é usar o comando import para trazer as funções desses arquivos para o nosso arquivo principal!

🧠 Fundamentos: A Teoria Traduzida

🛡️ 1. O comando import (Importar tudo):

Traz todo o conteúdo de outro arquivo para o arquivo atual. Para usar as funções dele, precisamos digitar o nome do arquivo antes!

import iron_man
 
iron_man.atirar_laser()  # Chama a função que está lá dentro!

🎯 2. O comando from ... import (Importar específico):

Traz apenas a função ou variável específica que você quer usar. Assim, você não precisa digitar o nome do arquivo antes de usar!

from hulk import esmagar
 
esmagar()  # Já posso usar direto!

📖 Exemplo Guiado: O Arquivo de Funções

Imagine que você tem um arquivo chamado utilidades.py com o seguinte código:

def saudar_base():
    print("🛡️ S.H.I.E.L.D. - Painel de Controle Acessado")

No seu arquivo principal.py, você pode usá-lo assim:

from utilidades import saudar_base
 
saudar_base()
print("Bem-vindo, Agente Fury.")

🛠️ Prática Obrigatória 1: Escolhendo o Comando

  1. Você quer usar a função calculo_complexo que está dentro do arquivo fisica.py. Escreva a linha de código usando o from para importar apenas essa função.

🛠️ Prática Obrigatória 2: Usando o Import Comum

  1. Se você importar o arquivo inteiro usando import matematica, como você chamaria a função somar(2, 2) que está dentro dele?

📤 Instruções de Entrega (GitHub Desktop + Microsoft Teams)

Neste curso, você entregará suas atividades enviando o código para o seu repositório no GitHub usando o aplicativo GitHub Desktop. Siga o passo a passo detalhado:

  1. Verifique a estrutura: Certifique-se de que sua estrutura de pastas final está idêntica à mostrada abaixo.
  2. Abra o GitHub Desktop: Certifique-se de que o repositório do seu curso está selecionado no canto superior esquerdo.
  3. Visualize as alterações: Na aba Changes (à esquerda), você verá todos os arquivos que criou ou modificou nesta aula.
  4. Faça o Commit:
    • No campo Summary (na parte inferior esquerda), digite uma mensagem curta descrevendo o que fez, ex: Finaliza atividades do Capítulo.
    • Clique no botão azul Commit to main (ou o nome da sua branch).
  5. Envie para a Nuvem (Push): No topo da tela, clique no botão Push origin. Isso enviará seu código do seu computador para o seu perfil no GitHub.
  6. ⚠️ IMPORTANTE (Repositório Público): Para que o professor consiga corrigir, o seu repositório no GitHub DEVE SER PÚBLICO. Repositórios privados não podem ser visualizados por quem não foi convidado.
  7. Como entregar no Microsoft Teams:
    • Copie o link do seu repositório no GitHub (ex: https://github.com/seu-usuario/seu-repositorio).
    • Abra a tarefa correspondente no Microsoft Teams.
    • Clique no botão Adicionar trabalho (ou Add work).
    • Selecione a opção Link no menu lateral.
    • Cole o link do GitHub no campo “Endereço Web” e digite um texto (ex: Meu Repositório) no campo “Texto a ser exibido”.
    • Clique em Anexar.
    • MUITO IMPORTANTE: Clique no botão Entregar (ou Turn in) no canto superior direito para concluir o envio!

📂 Estrutura de Pastas

spec_backend_com_python_e_fastapi/
├── capitulos/
│   └── capitulo_05_vingadores.md

💡 Checkpoint de Lógica

O Python já vem com muitos módulos prontos de fábrica (a biblioteca padrão)! Por exemplo, se você quiser gerar números aleatórios, basta digitar import random e usar as funções dele!

🔥 Desafio de Fixação (Opcional)

Pesquise como apelidar um módulo importado usando a palavra-chave as (ex: importar pandas como pd).

🔑 Gabarito de Código/Fórmulas

Gabarito da Prática 1:

from fisica import calculo_complexo

Gabarito da Prática 2:

matematica.somar(2, 2)

Capitulo Anterior | Proximo Capitulo