A forma from nome_do_modulo_ou_pacote import item1, item2, ...
permite importar apenas objetos específicos de um módulo ou pacote diretamente para o namespace do seu script.
- Como funciona: Em vez de importar o módulo inteiro, você escolhe quais funções, classes ou variáveis quer importar. Elas se tornam acessíveis diretamente, sem a necessidade de prefixar com o nome do módulo.
- Vantagem:
- Concisão: O código pode ficar mais limpo, pois não há necessidade de repetir o nome do módulo a cada uso do item.
- Desempenho (marginal): Em teoria, carrega apenas o que é necessário (embora o Python ainda precise processar o módulo completo para encontrar o item).
- Desvantagem/Cuidado:
- Potencial de Conflito: Se você importar dois itens com o mesmo nome de módulos diferentes, o último importado sobrescreverá o anterior, levando a bugs difíceis de depurar.
- Menos Rastreabilidade: Em códigos maiores, pode ser menos óbvio de onde uma função ou classe específica se originou.
- Exemplo:
from math import pi, sqrt # Importando a variável pi e a função sqrt
print(pi) # Acessível diretamente
print(sqrt(36)) # Acessível diretamente
from minha_aplicacao.utils.formatters import formatar_data
data_formatada = formatar_data("2023-10-26")
print(data_formatada)