python_para_desenvolvedores
253 pág.

python_para_desenvolvedores


DisciplinaComputação II158 materiais479 seguidores
Pré-visualização34 páginas
doctest.testmod()
if __name__ == "__main__":
 _doctest()
2. Implementar:
\u25aa um servidor que publique um objeto distribuído e este evoque a função tribonacci.
\u25aa um cliente que use o objeto distribuído para calcular a seqüência de Tribonacci.
Solução:
Servidor:
# -*- coding: latin1 -*-
import Pyro.core
# Importa o módulo com a função
import trib
class Dist(Pyro.core.ObjBase):
 @staticmethod
 def tribonacci(n):
 return trib.tribonacci(n)
if __name__ == '__main__':
 # Define a porta TCP/IP usada pelo Pyro
 Pyro.config.PYRO_PORT = 8888
 
 # Define o limite de cliente ao mesmo tempo
 Pyro.config.PYRO_MAXCONNECTIONS = 2000
 
 Pyro.core.initServer()
 
 # norange=1 faz com que o Pyro sempre use a mesma porta
 daemon = Pyro.core.Daemon(norange = 1)
 # Define o limite de tempo
 daemon.setTimeout(300)
 uri = daemon.connect(Dist(),'dist')
 daemon.requestLoop()
Cliente:
250 Apêndices
# -*- coding: latin1 -*-
import Pyro.core
# URL com a porta
url = 'PYROLOC://127.0.0.1:8888/dist'
proxy = Pyro.core.getProxyForURI(url)
# Teste com até dez elementos
for i in range(10):
 print i + 1, '=>', proxy.tribonacci(i + 1)
Saída:
Pyro Client Initialized. Using Pyro V3.7
1 => [1]
2 => [1, 1]
3 => [1, 1, 2]
4 => [1, 1, 2, 4]
5 => [1, 1, 2, 4, 7]
6 => [1, 1, 2, 4, 7, 13]
7 => [1, 1, 2, 4, 7, 13, 24]
8 => [1, 1, 2, 4, 7, 13, 24, 44]
9 => [1, 1, 2, 4, 7, 13, 24, 44, 81]
10 => [1, 1, 2, 4, 7, 13, 24, 44, 81, 149]
Índice remissivo 251
Índice remissivo
Arquivos...........................................................................................................................................53
Arranjos...........................................................................................................................................106
Banco de dados...........................................................................................................133, 144p., 147
Bibliotecas de terceiros....................................................................................................................51
Blender...................................................................................................................................8, 127pp.
BrOffice.org................................................................................................................................8, 117
Bytecode............................................................................................................................................10
CherryPy.................................................................................................................................151, 156
CherryTemplate.............................................................................................................151, 153, 156
Classes........................................................................................................80p., 85pp., 89, 91, 95, 97
Comentários funcionais..................................................................................................................15
Controle de fluxo.............................................................................................................................18
CPython...............................................................................................................................................9
DBI........................................................................................................................................144p., 147
Decoradores......................................................................................................................................78
Dicionários....................................................................................................................................32p.
Doc Strings..............................................................................................................37, 40, 43, 62, 100
Duck Typing.....................................................................................................................................10
ElementTree........................................................................................................................139, 141p.
Empacotamento.............................................................................................................................196
Exceções.........................................................................................................................................57p.
False...................................................................................................................................................36
Ferramentas......................................................................................................................................12
Funções........................................................................................................................................27, 37
Generator Expression..................................................................................................................74p.
Geradores..........................................................................................................................................67
GIMP....................................................................................................................................................8
Glade............................................................................................................................166, 168p., 174
Gráficos...........................................................................................................................................111
GTK+........................................................................................................................................166, 168
Herança.......................................................................................................................................87, 89
Histórico..............................................................................................................................................8
IDE.....................................................................................................................................................12
Interface gráfica..........................................................................................................................166p.
Introspecção..................................................................................................................................62p.
IronPython........................................................................................................................204pp., 208
Laços..................................................................................................................................................20
Lambda.............................................................................................................................................69
252 Índice remissivo
Lazy Evaluation...............................................................................................................................67
Linguagem C...............................................................................................................................200p.
List Comprehension.....................................................................................................................74p.
Listas..............................................................................................................................................29p.
Mapeamento objeto-relacional....................................................................................................147
Matplotlib.......................................................................................................................................111