Módulos e pacotes Python: organizando projetos de código

Compreenda os módulos e pacotes Python. Aprenda como importar arquivos, estruturar projetos grandes, utilizar a biblioteca padrão e usar importações absolutas versus relativas.

Experimente no Editor

Visão geral

À medida que os aplicativos crescem, manter todo o código em um único arquivo torna-se impossível de gerenciar, ler e depurar. Python resolve isso organizando o código em módulos e pacotes. Um módulo é simplesmente um arquivo Python (terminando em `.py`) contendo variáveis, funções, classes e instruções executáveis. Ao dividir o código em módulos lógicos, você pode criar uma base de código limpa e reutilizável, fácil de testar e compartilhar entre diferentes aplicativos.

Para usar o código de um módulo em outro, Python usa a palavra-chave `import`. Você pode importar um módulo inteiro (por exemplo, `import math`), importar atributos específicos (por exemplo, `from math import pi, sqrt`) ou importar um módulo sob um alias para manter o código conciso (por exemplo, `import pandas as pd`). O sistema de importação do Python pesquisa uma lista de caminhos específica, começando com o diretório atual, seguido pelos diretórios de instalação e pela biblioteca padrão, antes de resolver a importação.

Um pacote é uma coleção de módulos organizados em uma estrutura de diretórios. Para definir um diretório como um pacote, ele tradicionalmente continha um arquivo chamado `__init.py` (embora isso seja opcional para pacotes de namespace emPython 3.3+). Essa estrutura permite agrupar módulos relacionados em um único namespace. Por exemplo, um pacote chamado `database` pode conter os módulos `connection.py` e `queries.py`. Você importaria seu conteúdo usando a notação de ponto: `import database.connection`. Dominar módulos e pacotes é fundamental para estruturar aplicativos Python escalonáveis ​​e prontos para produção.

Saída de código e execução

Usando o sistema de importação do Python para acessar funções matemáticas e utilizar aliases personalizados.

import_demo.py
Experimente no Editor
import math
from math import sqrt as square_root

# Calculate mathematical constants and values
val = 16
result = square_root(val)
pi_value = math.pi

print(f"Square root of {val} is {result}")
print(f"Value of Pi: {pi_value:.4f}")
print(f"Cosine of 0 is {math.cos(0)}")
Saída terminal
Square root of 16 is 4.0
Value of Pi: 3.1416
Cosine of 0 is 1.0

Implementação passo a passo

  • Dividindo a lógica de negócios dos manipuladores de rotas
  • Utilizando utilitários de biblioteca padrão em aplicativos
  • Publicação de código como bibliotecas reutilizáveis de código aberto

Perguntas frequentes

Qual é o propósito de __init.py?

Inicializa um diretório como um pacote Python. Também pode ser usado para expor submódulos ou variáveis ​​específicas no nível do pacote para facilitar a importação.

Como instalo módulos externos?

Você usa o gerenciador de pacotes do Python, pip, por meio da linha de comando (por exemplo, solicitações de instalação do pip), que baixa e instala o pacote do PyPI.

Tópicos Relacionados

Recursos Python recomendados

Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.