Aula 034: Pacotes
🎥 Vídeo 34
Nesta aula, vamos aprender sobre pacotes.
Conversa com o ChatGPT sobre o erro encontrado na aula.
O que são pacotes?
Pacotes são uma forma de organizar o código Python em diretórios. Eles funcionam como “pastas especiais” que agrupam módulos relacionados. A ideia dos pacotes é facilitar a organização de projetos maiores, separando funcionalidades em diferentes partes do sistema.
Relação entre módulos e pacotes
Na aula anterior, foram apresentados os módulos, que são arquivos .py.
Os pacotes funcionam como agrupadores desses módulos.
A aula utiliza a analogia de uma loja de departamentos:
- o pacote seria a seção da loja;
- os módulos seriam os grupos internos daquela seção.
Por exemplo:
Dentro de cada seção poderiam existir módulos como:
- sapatos;
- moda praia;
- vestuário;
- acessórios.
Por que usar pacotes?
Pacotes ajudam a:
- organizar projetos maiores;
- separar funcionalidades;
- facilitar manutenção;
- melhorar reutilização do código;
- tornar a navegação do projeto mais simples.
Além disso, frameworks e bibliotecas Python utilizam bastante essa estrutura.
Criando um pacote
Foi criado um diretório chamado ecommerce.
Inicialmente, ele é apenas uma pasta comum.
O arquivo __init__.py
Para que o Python reconheça a pasta como um pacote, foi criado o arquivo:
Esse arquivo torna o diretório um pacote Python.
A estrutura ficou assim:
Criando um módulo dentro do pacote
Dentro do pacote ecommerce, foi criado um módulo chamado entrega.py.
Criando uma função no módulo
Dentro do módulo entrega.py, foi criada uma função chamada calculadora_entrega.
Importando funções de um pacote
No arquivo principal (app.py), a função foi importada diretamente.
Depois disso, a função pode ser utilizada normalmente.
Saída:
Como funciona esse import
Nesse caso:
ecommerce→ pacote;entrega→ módulo;calculadora_entrega→ função.
O Python acessa cada nível usando ponto (.).
Erro de importação
Durante a aula aconteceu o erro:
Isso aconteceu porque o pacote estava fora da raiz do projeto executado pelo Python. O interpretador entendia que a pasta da aula era a raiz do projeto e, por isso, não encontrava o pacote ecommerce.
Solução utilizada
A solução foi mover a pasta ecommerce para dentro da pasta da aula. Depois disso, a importação funcionou corretamente.
Outra forma de importação
Também foi apresentada outra maneira de importar módulos.
Nesse caso, o módulo inteiro é importado.
Para acessar a função, é necessário usar:
Diferença entre as duas formas
Importando diretamente a função:
A função pode ser usada diretamente.
Importando o módulo:
É necessário acessar a função usando ponto.
Estrutura final do projeto
A estrutura criada durante a aula ficou semelhante a:
Aplicação prática
Pacotes são utilizados constantemente em projetos reais e frameworks.
Eles ajudam a:
- separar responsabilidades
- organizar funcionalidades
- reutilizar código
- estruturar aplicações maiores
- facilitar manutenção e crescimento do projeto
Checklist
Ao final desta aula, você aprendeu:
- O que são pacotes?;
- Diferença entre módulos e pacotes;
- Criação de diretórios como pacotes Python;
- Uso do arquivo
__init__.py; - Criação de módulos dentro de pacotes;
- Importação de funções e módulos;
- Uso do operador
.para acessar módulos e funções; - Entendimento básico sobre estrutura de projetos Python.