Python para iniciantes: do zero ao primeiro projeto
Aprenda sobre variáveis, loops e funções e crie seu primeiro projeto Python em apenas 2 horas!
Quando você está aprendendo Python, pode se deparar com um arquivo chamado __init__.py em vários diretórios e se perguntar sobre sua finalidade. Vamos entender o que esse arquivo faz e por que ele é importante para pacotes Python.
Vá do zero ao primeiro projeto em apenas 2 horas com o curso Python para Iniciantes.
Comece agora__init__.pyO arquivo __init__.py desempenha um papel crucial na estrutura de pacotes Python. Ele costumava ser um componente obrigatório de um pacote nas versões do Python anteriores à 3.3. Esse arquivo marca um diretório como um diretório de pacote Python, o que significa que o Python conseguirá importar os arquivos dentro desse diretório como parte de um pacote.
__init__.py ajuda o Python a encontrar pacotes em subpastasImagine que você tenha a seguinte estrutura de arquivos:
minha_pasta/
subpasta/
__init__.py
modulo.pySe minha_pasta estiver no seu caminho Python, você pode importar o código em modulo.py usando:
import subpasta.moduloou
from subpasta import moduloAté Python 3.3, era obrigatório possuir um arquivo __init__.py para que o Python conseguisse importar seus arquivos. Nas versões mais recentes, isso não é mais uma necessidade explícita. Mesmo assim, em muitos casos este arquivo ajuda o Python a reconhecer arquivos para importar. Se você se deparar com ImportError ao tentar importar os seus próprios códigos, tente criar arquivos __init__.py e confira se isso ajuda com seu problema.
__init__.py pode conter código de inicialização para ser importadoO arquivo __init__.py também pode ser usado para realizar tarefas de inicialização de pacotes e para definir funções de conveniência. Por exemplo, se você tem um pacote que interage com um banco de dados, você pode ter um arquivo __init__.py que se parece com isto:
# Arquivo: database/__init__.py
import os
from sqlalchemy.orm import sessionmaker
from sqlalchemy import create_engine
engine = create_engine(os.environ['DATABASE_URL'])
Session = sessionmaker(bind=engine)Com essa configuração, você pode iniciar uma nova sessão de banco de dados de qualquer lugar do seu projeto usando:
from database import Session
sessao = Session()Com a importação from database import Session, todo o código de __init__.py é executado. Assim, o seu código tem acesso a qualquer variável ou objeto que se encontra lá. Note também que não se deve usar o nome __init__.py na importação (isto é, importamos com from database import Session, e não from database.__init__ import Session).
Dito isso, lembre-se de não escrever código muito extenso no __init__.py (a não ser que você tenha um bom motivo para isso). Embora o __init__.py possa conter qualquer código Python, o consenso na comunidade Python é que ele deve ser mantido com o mínimo de código possível.
__init__.py simplifica importações de módulos em subpastasO arquivo __init__.py é frequentemente usado para fornecer uma interface conveniente para o pacote, importando componentes-chave para que os usuários não precisem conhecer a estrutura exata do seu pacote.
Por exemplo, se você tem vários módulos no seu pacote, você pode importar suas funções em __init__.py para que os usuários possam acessá-las diretamente do pacote:
# Arquivo: seu_pacote/__init__.py
from .arquivo1 import adicionar, subtrair
from .arquivo2 import funcao_importante
from submodulo.arquivo3 import *
# ...Isso permite que os usuários façam algo como isto:
from seu_pacote import adicionarEm vez de:
from seu_pacote.arquivo1 import adicionarO arquivo __init__.py é um componente-chave dos pacotes Python. Ele marca diretórios como diretórios de pacotes Python, pode conter código de inicialização e facilita para os usuários a importação do conteúdo do pacote. Lembre-se de manter o __init__.py simples e usá-lo para tornar seu pacote mais amigável ao usuário sem esconder sua estrutura.
Aprenda sobre variáveis, loops e funções e crie seu primeiro projeto Python em apenas 2 horas!
Saia do zero e analise dados com Python e Pandas neste curso gratuito com certificado!
Aprenda a programar com Python e explore a inteligência artificial! Crie um chatbot prático que interage com seus próprios dados. Comece agora!
Estudo aprofundado do potencial de LLMs multimodais: soluções, mecanismos e geração de valor Os Modelos de Linguagem de Grande Porte (LLMs) multimodais representam uma…
Quando se trata de visualização de dados em Python, o Matplotlib é uma das bibliotecas mais populares e poderosas disponíveis. Para cientistas de dados,…
Ter um portfólio online é essencial para se destacar no mercado. Se você atua na área de dados, tecnologia ou negócios, apresentar seus projetos…
Comente e participe da conversa
Crie sua conta gratuita e compartilhe sua opinião nos comentários.
Entre para a Asimov