Trecho do manual de estudo de Python para registro.
O cliente pode executar a instrução de importação ou from. Se o módulo não for carregado, essas instruções irão buscar, compilar e executar o programa de arquivos do módulo. A principal diferença é que o import lê o módulo inteiro, então ele deve ser definido antes que o nome da variável possa ser lido; from obterá (ou copiará) nomes de variáveis específicas de módulo.
import faz com que o nome de uma variável se refira a todo o objeto do módulo, então as propriedades do módulo devem ser obtidas pelo nome do módulo (por exemplo, module1.printer). e from copiará o nome da variável para outro escopo, para que possa usar o nome da variável copiada diretamente no script sem passar por um módulo (por exemplo, impressora).
a instrução from tem potencial para quebrar namespaces. Se você importar variáveis usando from e essas variáveis estiverem duplicadas com variáveis existentes no escopo, as variáveis serão silenciosamente sobrescrevidas. Isso não é um problema ao usar instruções de importação, pois seu conteúdo deve ser obtido pelo nome do módulo. No entanto, ao usar from, isso não é um grande problema na prática, desde que você entenda e antecipe que isso aconteça, especialmente se você listar claramente os nomes das variáveis de importação (por exemplo, from module import x, y, z).
Por outro lado, quando usado com a chamada de reload, a instrução from apresenta um problema sério, pois o nome da variável importada pode se referir a uma versão anterior do objeto. Além disso, o formulário da importação do módulo * pode realmente quebrar o namespace e dificultar a compreensão dos nomes das variáveis, especialmente ao importar mais de um arquivo.
Uma sugestão mais pragmática é que módulos simples geralmente tendem a usar importar em vez de from. A maioria das instruções from é usada para enumerar explicitamente as variáveis desejadas, e são limitadas a usar o formulário from * apenas uma vez por arquivo. Dessa forma, qualquer nome de variável indefinido pode ser considerado como existindo no módulo referenciado a partir de *. Você realmente precisa usar import quando precisa usar a mesma variável de nome definida em dois módulos diferentes, caso em que você não pode usar from.
Falei muito, não sei o que dizer, vamos falar brevemente.
- Módulo de importação # Módulos de introdução
- a partir de Importação de módulo Outros # Introduzir classes, funções ou variáveis no módulo
- de importação do módulo * # Introduza todos os membros 'públicos' no módulo
Em termos simples:
importar uma classe #把整个一班的学生引入了进来
de um grupo de importados de Xiao Wang #只把一般的小王引入了进来
Por exemplo:
O pacote de tempo é um exemplo, e os dois métodos de escrita a seguir são os mesmos, da seguinte forma:
|