Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Programando em Python - Modulos, Notas de estudo de Informática

Modulos em python

Tipologia: Notas de estudo

2011

Compartilhado em 25/03/2011

samuel-santos-22
samuel-santos-22 🇧🇷

4.6

(41)

262 documentos

1 / 13

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Claudio Esperança
Python:
Módulos
pf3
pf4
pf5
pf8
pf9
pfa
pfd

Pré-visualização parcial do texto

Baixe Programando em Python - Modulos e outras Notas de estudo em PDF para Informática, somente na Docsity!

Claudio Esperança

Python:

Módulos

Módulos

 Módulos são programas feitos para serem

reaproveitados em outros programas

 Eles tipicamente contêm funções, variáveis, classes e

objetos que provêm alguma funcionalidade comum

 Por exemplo, já vimos que o módulo math contém

funções matemáticas como sin, exp, etc, além da

constante pi

 Toda a biblioteca padrão do Python é dividida em

módulos e pacotes (veremos mais tarde)

 Alguns dos mais comuns são: sys, os, time, random,

re, shelve

Exemplo (em Unix)

$ cat teste.py

def f():

print "alo"

f()

$ python

...

import teste

alo

import teste

teste.f()

alo

$ dir teste*

teste.py teste.pyc

Tornando módulos disponíveis

 Em que diretório os módulos são buscados durante a

importação?

 No diretório corrente

 Nos diretórios da lista sys.path

 Se for desejável especificar o local onde os módulos

residem, há essencialmente duas opções

 Alterar diretamente a variável sys.path

 Alterar a variável de ambiente PYTHONPATH  É o método recomendável pois não requer que o programa que importará o módulo seja alterado

A variável name

 Se um programa pode ser executado por si só ou

importado dentro de outro, como distinguir as duas

situações?

 A variável name é definida para cada programa:

 Se é um módulo, retorna o nome do módulo  Se é um programa sendo executado, retorna 'main'

 Para saber se o código está sendo executado como

módulo, basta testar:

 If name == 'main': código

 Isto é útil em diversas circunstâncias

 Por exemplo, para colocar código de teste, código para

instalação do módulo ou exemplos de utilização

Exemplo

$ cat teste.py

def f():

print "alo"

if name == 'main':

f()

$ python teste.py

alo

$ python

Python 2.4.2 (#2, Sep 30 2005, 21:19:01)

...

import teste

print name

main

print teste.name

teste

Pacotes

 Os demais arquivos e diretórios dentro do pacote são

encarados recursivamente como módulos

 Por exemplo, se um pacote se chama p e contém um

arquivo chamado m.py, então podemos importar

 p (arquivo p/init.py)  p.m (arquivo p/m.py)

 Semelhantemente, p poderia ter um outro pacote sob a

forma de outro diretório contendo um arquivo

init.py

Exemplo

$ dir python/ pacote teste.py $ dir python/pacote/ init.py teste2.py $ cat python/teste.py print "teste" $ cat python/pacote/init.py print "pacote" $ cat python/pacote/teste2.py print "teste2" $ python ...

import teste teste import pacote pacote import pacote.teste teste

Exemplo

$ cat test.py

def f (): print "f"

def g(): print "g"

h = 5

all = ["h","g"]

$ python

...

from test import *

h

5

g

<function g at 0xb7c9a17c>

f

Traceback (most recent call last):

File "", line 1, in

NameError: name 'f' is not defined