Python/Conceitos básicos/Módulos

Origem: Wikilivros, livros abertos por um mundo aberto.
Ir para: navegação, pesquisa

Cada arquivo em Python é chamado de módulo. Módulos são um conjunto de códigos como funções, classes, variáveis, etc. Vários módulos podem se comunicar através do comando import módulo.

Importando módulos[editar | editar código-fonte]

Existem dois modos principais de chamar módulos[1], como:

>>>import wx
>>>print wx.codificação()
utf-8

ou

>>>from wx import *
>>>print codificação()
utf-8

Nos dois modos, é lido o arquivo wx.py.

Os dois modos de acesso estão corretos e não geraram erros, o funcionamento seria: procura o módulo e inicializá-o e o outro define o escopo do módulo.

No primeiro modo (import modulo) existe um alto acoplamento devido ao modo de acesso ao módulo wx onde é efetuada as duas etapas para cada módulo. As funções (e variáveis) do módulo wx tornam-se disponíveis precedendo seu nome por wx., por exemplo, se em wx.py é definida uma variável A, então esta variável pode ser usada como wx.A.

No segundo exemplo (from modulo import *) se ganharia flexibilidade de definir e reimportar todas as funções do módulo wx, incluindo a função codificação(). As funções e variáveis do módulo tornam-se acessíveis sem precisar prepor o wx..

Qual é o melhor método?[editar | editar código-fonte]

Um dos principios da linguagem é que There should be one-- and preferably only one --obvious way to do it[2] (numa tradução livre Deve haver um - e apenas um - modo óbvio de fazer isso), e a importação de módulos não é exceção.

Como regra geral, deve-se usar import modulo[1]. A principal exceção (há outras, ver a referência [1]) é quando a própria documentação do módulo recomenda que se use from modulo import * (por exemplo, o tkinter)

Módulos disponíveis[editar | editar código-fonte]

Os módulos disponíveis estão armazenados na variável sys.modules, para ver quais são é preciso importar o módulo sys:

>>> import sys
>>> sys.modules

Ver também Python/Bibliotecas padrão.

Referências[editar | editar código-fonte]

  1. 1,0 1,1 1,2 Importing Python Modules, por Fredrik Lundh, no site effbot.org. Explica as diferenças entre import módulo e from módulo import *, além de um terceiro método não descrito neste tutorial
  2. The Zen of Python, site python.org

Ligações externas[editar | editar código-fonte]

<div class="noprint" id="auto-nav-inf"> <ul class="auto-nav"> <li class="auto-nav-index"><a title="Acima: Conceitos básicos" href="/wiki/Python/Conceitos_b%C3%A1sicos">Conceitos básicos</a></li> <li class="auto-nav-prev"><a title="Anterior: Funções" href="/wiki/Python/Conceitos_b%C3%A1sicos/Fun%C3%A7%C3%B5es">Funções</a></li> <li class="auto-nav-next"><a title="Posterior: Erros e exceções" href="/wiki/Python/Conceitos_b%C3%A1sicos/Erros_e_exce%C3%A7%C3%B5es">Erros e exceções</a></li> </ul></div> <div class="printonly">Obtido em "http://pt.wikibooks.org/w/index.php?title=Python/Conceitos_básicos/Módulos&oldid=265858"</div>