Curso de Perl

Page 21

4 Estruturação e organização do código Podemos num dado módulo aceder à funcionalidade de outro com a instrução

import: Listagem 4.4:

import s y s #Importa o módulo da b i b l i o t e c a padrão s y s from math import s i n , s q r t #Importa as f u n ç õ e s s i n e import print print

numpy

as

np

#s q r t do módulo math #Importa o módulo numpy , mas #passamos a r e f e r i − l o como np

sys . platform sqrt (25.0)

x = np . a r a n g e ( 0 . 0 , 1 0 . 0 , 0 . 1 )

#Função arange do módulo numpy

Ao usar a forma import modulo1 , para usar as variáveis e métodos de nidos no módulo escrevemos modulo1.metodo ou modulo1.variavel. Na forma from modulo1

import func1,func2

ou from modulo1

import *

os métodos

e variáveis do modulo1 cam disponíveis no mesmo espaço de nomes que já estamos. Se importar-mos desta forma uma função ou variável com o mesmo nome de uma outra já existente só podemos aceder à última que foi importada, perdendo o acesso à que já existia. A instrução

import

tem várias características

importantes:

Primeiro o módulo tem de ser encontrado. Este é procurado primeiro na directoria actual do programa. Se não for encontrado é de seguida procurado nas directorias especi cadas na variável de sistema PYTHONPATH, e não tendo sido encontrado é procurado nas directorias que contêm a biblioteca padrão do Python.

Se o módulo for encontrado, é veri cado se existe uma versão compilada ( bytecode ) do código actual ( cheiros .pyc).

Se tal não se veri car, o

módulo é então compilado, e o bytecode gerado é guardado num cheiro com extensão .pyc.

O módulo é então executado, do início até ao m, o que de ne as funções e variáveis desse módulo. Se houver o módulo possuir instruções fora de funções ou classes essas são também executadas.

Esta sequência só ocorre na primeira que importarmos um módulo num programa. Se o mesmo módulo for importado outra vez apenas é utilizada a cópia que já está em memória. Para forçar a execução de todos estes passos podemos usar a função

reload (),

que volta a carregar o módulo

especi cado.

4.3 Classes A programação orientada a objectos (OOP) é suportada em Python, sendo uma classe criada com a instrução

class.

Apesar de a OOP ser opcional em Python,

é importante estar familiarizado com este tipo de abordagem.

18


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.