Pacote vs Módulo em Python
Temos diferentes pacotes disponíveis em Python. Cada pacote tem sua área de foco. Ao trabalhar com Python, usamos diferentes funcionalidades pertencentes a diferentes módulos ou pacotes. Usamos os termos módulos e pacotes alternadamente.
Vamos entender a diferença entre esses dois termos neste artigo.
Um módulo é um arquivo de script que consiste em várias funções e variáveis globais. O arquivo é salvo com uma extensão .py
. Esses arquivos são executáveis e podem armazenar diferentes funções e objetos. Para organizar os módulos, temos o conceito de Pacotes em Python.
Por outro lado, um pacote é um diretório simples que consiste em coleções de módulos. Um pacote contém um arquivo __init__.py
adicional para que o interpretador o interprete como um pacote. Podemos interpretá-lo como uma estrutura de diretório de arquivos hierárquica que define um único ambiente de aplicativo. Um pacote pode ser composto de outros subpacotes menores.
Deve-se notar também as semelhanças entre os dois. Para usá-los, nós os importamos usando a instrução import
. Isso cria um objeto do tipo módulo
, independentemente de estarmos importando um módulo ou pacote. No entanto, ao importar um pacote, apenas as classes, funções, variáveis são visíveis, que são diretamente visíveis no arquivo __init__.py
.
Vamos entender isso com um exemplo.
import xml
xml.etree
O código acima retorna um AttributeError
. Para superar isso, podemos considerar o código fornecido a seguir.
import xml.etree
xml.etree
O código acima não apresentará erros. Esperançosamente, agora, a diferença entre um pacote e um módulo está clara.