__import__() Função import de baixo nível
Última atualização: 2026-09-22
__import__() Função import de baixo nível
__import__ é a função chamada por baixo dos panos pela instrução import; no dia a dia use a instrução import. Use apenas em cenários de importação dinâmica.
| Categoria | Funções internas |
|---|---|
| Tipo | Função interna |
| Versão do Python | all |
📝 Sintaxe
__import__(name, globals=None, locals=None, fromlist=(), level=0)
⚙️ Parâmetros
| name Obrigatório | The module name (string). |
|---|---|
| globals Opcional | The global namespace dict.(Padrão:None) |
| locals Opcional | The local namespace dict.(Padrão:None) |
| fromlist Opcional | Names of submodules or attributes to import.(Padrão:()) |
| level Opcional | Relative import level; 0 means absolute.(Padrão:0) |
Retorno:The top-level module object (not the attributes in fromlist).
💥 Exceções
ImportError— Raised when the module cannot be found or imported.
▶ Exemplo
Edite o código, clique em Executar e veja o resultado no painel de saída:
Saída:
4.0
⚠️ Aviso Carregar dinamicamente nomes de módulos não confiáveis tem risco de segurança; no dia a dia use import.
🏷️ Funções internas relacionadas
💡 Casos relacionados
Mais estudos de caso em breve — aguarde.
❓ Perguntas frequentes
QPor que não chamar __import__() diretamente em vez de usar a declaração import?
AA declaração import cuida do vínculo de nomes, da semântica de fromlist e outros detalhes; __import__() é apenas uma função de implementação de baixo nível — use import para importações do dia a dia.
QO que __import__('math') retorna?
ARetorna o objeto do módulo math. Note que ele retorna o módulo de nível superior: para import a.b, __import__ retorna a, não b.
QO que usar para importações dinâmicas?
APrefira importlib.import_module(name); ele retorna o módulo especificado em vez do de nível superior, com semântica mais clara que __import__.
QImportar dinamicamente um nome de módulo não confiável é arriscado?
ASim — pode carregar e executar código arbitrário; quando o nome do módulo vem de entrada do usuário, valide estritamente contra uma lista de permissões.