Posts de Maio 9th, 2008|Página de posts diários
Diferenças no import em Python
Quero explicar algo que gostaria de ter ouvido na resposta do professor ao aluno (feita na história do post anterior), que é a diferença entre:
import módulo
e
from módulo import método/atributo/*
Antes vou tentar exemplificar!
Se fizermos:
import string
a = 'teste'
upper(a)
irá nos retornar um erro informando que o método upper() não existe, para que isso funcione devemos fazer:
string.upper(a)
ou seja,
módulo.método
Para que o primeiro código funcione, substituímos import string por from string import upper ou from string import *
Explicando teoricamente, ao fazer from módulo import método/atributo/*, os atributos e métodos dos tipos de módulos importados são importados diretamente para dentro do namespace local, ficando disponíveis diretamente, sem qualificação por nome do módulo. Enquanto da outra forma é necessário qualificar o módulo antes do método/atributo a ser utilizado.
Comentários (2)