Python Com Baterias Incluídas

49
Msc. Jonh Edson Ribeiro de Carvalho 31.05.2007 copyleft Com Baterias Incluídas

description

Palestra apresentada no GamaComp, - Semana de informática da Universidade Gama Filho

Transcript of Python Com Baterias Incluídas

Page 1: Python Com Baterias Incluídas

Msc. Jonh Edson Ribeiro de Carvalho31.05.2007

copyleft

Com Baterias Incluídas

Page 2: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

• Bacharel em Física pela UFF

• Mestre em Computação pela UFF

• Área: Computação Visual e Interfaces

• Professor Universitário desde 2000

• Docente Gama Filho

• Docente Faculdade Paraíso

• Pesquisa Atualmente

• Engine de Física para Jogos em GPU

• Reconhecimento de Padrões com uso de Morfologia

Matemática

Page 3: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Graal do DesenvolvedorGraal do Desenvolvedor

• Qualidade

• Facilidade

• Legibilidade

• Portabilidade

• Extensibilidade

• Escalabilidade

• Interoperabilidade

• Customização

Rapidez no Ciclo de Desenvolvimento

Page 4: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas Busca pela Ferramenta Perfeita

Jonh Edson Ribeiro de Carvalho

http://people.mandriva.com/~prigaux/language-study/diagram.png

Page 5: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

http://www.tiobe.com/tpci.htm

2007 2006 Linguagem Taxa Variação1 1 Java 19.140% -2.18% 2 2 C 15.152% -2.54% 3 3 C++ 10.114% -0.82% 4 4 PHP 8.738% -1.48% 5 5 VBasic 8.431% -1.13% 6 6 Perl 6.152% +0.10%7 8 Python 3.779% +0.74% 8 7 C# 3.656% +0.38% 9 9 JavaScript 3.072% +0.88% 10 19 Ruby 2.632% +2.18%

Page 6: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

Quando?Quando?

• Criada em 1989 pelo holandês Guido

van Rossum no Centrum voor

Wiskunde en Informatica (CWI), em

Amsterdã,Holanda;

• Influenciada pela Linguagem ABC,

que focava em ser uma linguagem de

programação para usuários que não

eram programadores.

Python com Baterias IncluídasPython com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Page 7: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

Ambiente de ConcepçãoAmbiente de Concepção

• Universidade - pessoas altamente

especializadas para desenvolver e

opinar sobre os elementos do projeto;

• Descontraído - o nome Python vem

da série de humor

Monty Python’s Flying Circus;

• Sem prazos, Sem pressão -

resultando em maior qualidade.

Python com Baterias IncluídasPython com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Page 8: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

O que é Python?O que é Python?

• Interpretada – facilita a portabilidade

• Interativa – facilita testes,

desenvolvimento rápido, protótipos;

• Orientada a Objetos – números,

strings, funções, instâncias, métodos...

Python com Baterias IncluídasPython com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Page 9: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

O que é Python?O que é Python?

• Fortemente Tipada – não se mistura

tipos automagicamente;

• Tipagem Dinâmica – a tipagem de

objeto é feita em tempo de execução.

Um objeto tem tipo uma variável não.

Python com Baterias IncluídasPython com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Page 10: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

Por que Python?Por que Python?

• Poderosas Estruturas de Dados

Nativas (listas, dicionários (hash

tables), strings, ... otimizados e de

fácil uso;

• Fácil Aprendizagem e Manutenção

• Software Livre - Disponível com

código aberto e sem custo.

Python com Baterias IncluídasPython com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Page 11: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

Por que Python?Por que Python?

• Interoperabilidade com C/C++/Java/

Delphi/Lua/Ruby

• Baterias Incluídas - Extensa

Biblioteca Padrão ( contém diversos

recursos úteis: Interface Gráfica (Tk),

XML, Servidores (TCP,UDP, HTTP, ...),

HTML, protocolos de internet (email,

http,...), xmlrpc, ...

Python com Baterias IncluídasPython com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Page 12: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

Onde?Onde?

• Unix: HP-UX, Solaris, Linux

(freqüentemente pré-instalada), ...

• Mac OSX (sempre pré-instalada)

• Windows: 9x, Me, 2K, XP (ctypes,

win32all)

• Nokia Série 60

• PalmOS (Pippy)

Python com Baterias IncluídasPython com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Page 13: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

Como?Como?

• Não existem delimitadores de bloco

=> Identação (indenting)

• Suporta Threads, OO, herança

múltipla e tratamento de exceções

• Compilação implícita de bytecode

• Garbage collection

• Meta-informação e reflexão

computacional

Python com Baterias IncluídasPython com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Page 14: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

InteroperabilidadeInteroperabilidade

• CPython - (onde existir um compilador C ISO/IEC 9899:1990)

• Jython - (máquina virtual Java)

• IronPython - Python for .NET [Brian Lloyd], (em desenvolvimento na M$)

• PyPy (Python implementado em Python)

• Python for Delphi

• LunaticPython (Lua)

• Nokia – Python for Series 60(S60)

Python com Baterias IncluídasPython com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Page 15: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

• É uma implementação de alto nível do Python escrito 100% em Java. Isso permite que você escreva códigos em Python e os faça rodar dentro de qualquer JVM (Java Virtual Machine).

• Para instalarmos o Jython é necessário ter o JSDK, pois o Jython utiliza o javac para compilar os programas em Python para Java.

• java jython_21

h t t p ://w w w .jy t h o n .o r gh t t p ://w w w .jy t h o n .o r g

JythonJython

Page 16: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

• import javax.swing as libswing• pnumero = libswing.JOptionPane.showInputDialog("Digite um Numero Inteiro: ")

• snumero = libswing.JOptionPane.showInputDialog("Digite um Numero Inteiro: ")

• soma = int(pnumero) + int(snumero)• libswing.JOptionPane.showMessageDialog(None, "A soma eh %d " % soma)

JythonJython

Page 17: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

import sys sys.path.append(r'C:\Python24\Lib')import clrclr.AddReference("System.Windows.Forms")from System.Windows.Forms import Application, Form

class HelloWorldForm(Form): def __init__(self): self.Text = 'Hello World' self.Name = 'Hello World'

form = HelloWorldForm()Application.Run(form)

IronIronPythonPython

Page 18: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

• import appuifw, key_codes, glcanvas, graphics

• from gles import *...

• def drawbox(aSizeX, aSizeY, aSizeZ):

• #Desenha uma caixa com triângulos.• glScalef( aSizeX, aSizeY, aSizeZ )• glDrawElementsub( GL_TRIANGLES, triangles )

Python Python For For Series Series S60S60

Page 19: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

CasosCasosPython com Baterias IncluídasPython com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Page 20: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

Casos no BrasilCasos no Brasil•Embratel: monitoramento das interfaces de backbone e

clientes de internet, tamb´em existem scripts de uso interno.

•CPqD: monitoramento de centrais telefˆonicas.

•Mandriva: Gerenciamento de pacotes da distribuição Linux e

ferramentas de uso interno.

•Async: desenvolvimento de software de automação comercial

•GPr Sistemas: sistemas como monitoramento de transporte

• terrestre via satélites

• Para Sistemas Web: Varig, Serpro, Câmara,

Interlegis, ...

Page 21: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

Casos no MundoCasos no MundoIndustrial Light & Magic: automação interna: “Python

plays a key role in our production pipeline. Without it a

project the size of Star Wars: Episode II would have been very

difficult to pull off. From crowd rendering to batch processing

to compositing, Python binds all things together”

NASA: repositório de CAD/CAE/PDM, gerência de modelos,

integração e sistema colaborativo: “We chose Python because

it provides maximum productivity, code that’s clear and easy

to maintain, strong and extensive (and growing!) libraries,

and excellent capabilities for integration with other

applications on any platform.”

Page 22: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

Casos no MundoCasos no MundoApple: ferramenta padrão desde o MacOS X.

Disney: jogos e Sistemas internos de automação e criação,

patrocínio do PyQT.

Bank Boston: sistema Web usando Python e Zope.

Atari: jogos, como “Temple of Elemental Evil”.

Yahoo!: Yahoo! Groups foi escrito inicialmente em puro

python: 180.000 linhas de código cuidavam de tudo, tratando

mais de 200 mensagens/segundo em um simples Pentium

400Mhz.

Nortel: sistemas web “ChartWare”, “WebBook” e

“WebTrack” são exemplos.

Page 23: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

Casos no MundoCasos no MundoPhilips: automação da linha de semicondutores na fábrica de

Fishkill.

Lawrence Livermore National Laboratories: ambiente

de engenharia numérica.

Red Hat: diversas ferramentas para linux, o instalador das

distribuições Red Hat e Fedora (“Anaconda”).

Gentoo Linux: sistema de gerência de pacotes “Portage”.

Ubuntu: diversas ferramentas, gerêcnia de pacotes, instalador.

Blender3D: software pode ser estendido usando plugins

Python.

Histórias de Sucesso:

• http://www.python.org/about/success/

Page 24: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

Casos no Mundo: Casos no Mundo: GOOGLEGOOGLE

Maior “case” Python da atualidade:

”Python has been an important part of Google since the

beginning, and remains so as the system grows and evolves.

Today dozens of Google engineers use Python, and we’re

looking for more people with skills in this language.”

— Peter Norvig, director of search quality at Google, Inc.

Page 25: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

Casos no Mundo: Casos no Mundo: GOOGLEGOOGLESistema de ajuda do GMail

Google Groups

Sistema de compilação de aplicativos

(build system).

Sistema de empacotamento e entrega de dados

(packaging system).

Sistema de monitoramento e manutenção

do cluster

Sistema de testes

Page 26: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

Casos no Mundo: Casos no Mundo: GOOGLEGOOGLE•Análise de registros (logs), e análise de falsos

clicks no Sponsored Ads.

•Prototipação

•Recentemente liberando código em

http://code.google.com, como Goopy.

•Requisito para contratar profissionais Java:

saber Python! :-)

Page 27: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

Opiniões: Bruce EckelOpiniões: Bruce EckelÉ o autor de livros de renome, como “Thinking in

Java” e “Thinking in C++”, mas hoje prefere

pensar em Python.

Ele apresentou 10 razões por que ele ama esta

linguagem, Algumas delas:

•Menos Porcaria: Dizem que uma pessoa armazena 7 ± 2

informações ao mesmo tempo, quanto menos porcaria, melhor.

•Produtividade é mais importante que

Performance: otimizar prematuramente é um

grande erro.

Page 28: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

Opiniões: Bruce EckelOpiniões: Bruce Eckel•Não tem pessoal de marketing envolvido: todas as

decisões da linguagem são com fundamentos técnicos,

vêm de quem usa a linguagem.

•Digite menos, Olhe mais: com Python você

consegue expressar mais com menos, digitando menos,

faz mais rápido, com maior densidade,

consegue analisar mais idéias ao mesmo tempo.

Obtém-se ganho de 5 a 10 vezes.

•Python não fica entre você e o problema;

Os chutes geralmente estão certos: Geralmente é

mais rápido digitar o que você acha correto e rodar o

teste do que procurar na documentação.

Page 29: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

Computação Gráfica Computação Gráfica • Módulos

• PyOpenGL;• PyGame (SDL);• Pymedia;• CGkit;• PyODE;• PyGPU (Processamento de Imagens na GPU);

• Visual Python(Framework de Alto Nível);

Python com Baterias IncluídasPython com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Page 30: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

Computação Gráfica Computação Gráfica • Programas Gráficos

• Blender• Soya (Engine Jogos)• Kyra (Engine Jogos)

• Games

• Civilization IV• E muitos jogos usando como script de Inteligência Artificial junto com Lua.

Python com Baterias IncluídasPython com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Page 31: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

Sucessos em Software Livre Sucessos em Software Livre • Gimp• BrOffice• BitTorrent• Gnumeric• Inkscape• Scribus

Python com Baterias IncluídasPython com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Page 32: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

FrameWorks WebFrameWorks Web

• Zope / Plone• Django• Pylons• TurboGears

Python com Baterias IncluídasPython com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Page 33: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

Fazendo de TudoFazendo de Tudo• Bancos de Dados: ODBC, mySQL, Postgres, DCOracle,SQLServer, sqlite, gadfly, ZODB, PyDO, Metakit

• Protocolos de Rede: asyncore, htmllib, SimpleHTTPServer, urllib, ftplib, poplib, smtplib, telnetlib, Twisted

• GUI: Tkinter, wxPython, PyGTk, PyQt, PyKDE, Pythonwin

• Ciência: Numarray, SciPy, BioPython, AstroPy, Py2R/SPlus

• Proc. Imagens: PIL, PythonMagick, Gimp-python

Python com Baterias IncluídasPython com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Page 34: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

FrameWorks WebFrameWorks Web• XML: PyXML, 4Suite, ElementTree, RDFLib, Cwm

• Web: Webware, Cherrypy, Quixote, PSP, mod_python, Nevow

• IDE: Emacs,vi, idle, SPE, Pythonwin, Komodo, BlackAdder, PyScripter, Pida, Eclipse(Pydev), Boa Constructor, Eric,

Gazpacho(Glade)

Python com Baterias IncluídasPython com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Page 35: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

Estrutura da LinguagemEstrutura da Linguagem

• P r e s e n t a t io n P o w e r P o in t .

• P o w e r P o in tP r e s e n t a t io n .

• Linha de Código e Indentação

a = 1b = 2if a < b: print "a é menor "else : print "b é menor "

• Maiúsculas e Minúsculas são diferentes!

Page 36: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

Estrutura da LinguagemEstrutura da Linguagem

• P r e s e n t a t io n P o w e r P o in t .

• P o w e r P o in tP r e s e n t a t io n .

• Literais

• Strings•Convencional: ’texto’ ou "texto"•Multi-Line: ’’’texto várias linhas’’’ ou """texto várias linhas"""•Unicode: u’texto unicode’ ou u"texto", ...•Raw: r’texto bruto\n’•Strings em várias linhas são concatenadas.

• Números parecido com outras linguagens, C, C++, Java:

•Inteiro: 123 (decimal), 0632 (octal), 0xff00 (hexadecimal)•Longo: 123L ou 123l•Ponto Flutuante: 3.14, 10., .12, 1.23e-9•Complexos: 10.0 + 3j

Page 37: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

Estrutura da LinguagemEstrutura da Linguagem

• P r e s e n t a t io n P o w e r P o in t .

• P o w e r P o in tP r e s e n t a t io n .

• Linha de Código e Indentação

a = "texto" a = 123 a = [ 1 , 2 , 3 ] b = [ a , "123" , 333 ] d = { "chave": "valor" , "teste": a , "b" : 12345 }

Page 38: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

Estrutura da LinguagemEstrutura da Linguagem

• P r e s e n t a t io n P o w e r P o in t .

• P o w e r P o in tP r e s e n t a t io n .

• Controle de Fluxo

idade = int ( raw_input ( " Idade :" ) )if idade < 2: print " Bebe "elif 2 <= idade <= 13: print " Criançaa "elif 14 <= idade <= 19: print " Adolescente "else : print " Adulto "

Page 39: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

Estrutura da LinguagemEstrutura da Linguagem

• P r e s e n t a t io n P o w e r P o in t .

• P o w e r P o in tP r e s e n t a t io n .

• Laços

for fruta in [ "Banana" , "Maça" , "Uva" ]: print " Fruta :" , fruta

d = { "a":1 , "b":2 } for chave , valor in d. iteritems (): print "Chave:",chave, ",Valor:",valor

Page 40: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

Estrutura da LinguagemEstrutura da Linguagem

• P r e s e n t a t io n P o w e r P o in t .

• P o w e r P o in tP r e s e n t a t io n .

• Funções

def fatorial ( numero ): if numero <= 1: return 1 else : return ( numero * fatorial ( numero - 1 ) )

Page 41: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

Estrutura da LinguagemEstrutura da Linguagem

• P r e s e n t a t io n P o w e r P o in t .

• P o w e r P o in tP r e s e n t a t io n .

• Classes import datetime class Pessoa ( object ): def __init__(self,nome,nasc): self.nome = nome self.nasc = nasc def idade( self ): delta=datetime.date.today()-self.nasc return delta . days / 365 def __str__( self ): return ’%s,%d anos’%(self.nome,self .idade())

aluno=Pessoa( ’Aluno Teste’, datetime.date (1972,7,19)) print aluno.idade() print aluno

Page 42: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

Estrutura da LinguagemEstrutura da Linguagem

• P r e s e n t a t io n P o w e r P o in t .

• P o w e r P o in tP r e s e n t a t io n .

• Listas• Criação def lista = [ 10 , 2 , 3 , ’texto ’ , 20 ]

• Acesso print lista [ 2 ] # imprime ’3 ’

• Acesso a pedaço da lista sub_lista = lista[2:4] # pega de 2 a 4(não incluso) Outras Operações: Ordenar, Inverter, Contar Ocorrência de Elemento, etc.

Page 43: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

Estrutura da LinguagemEstrutura da Linguagem

• P r e s e n t a t io n P o w e r P o in t .

• P o w e r P o in tP r e s e n t a t io n .

• Tuplas - Parecido com as listas, porém é imutável: não se pode acrescentar, apagar ou modificar valores.

>>> tupla = ( 1 , 2 , ’abc ’ ) >>> tupla [ 0 ] 1 >>> tupla [ : 2 ] (1 , 2) >>> tupla [ 2 : ] (’abc ’ ,) >>> len ( tupla ) 3 >>> t = 1 , 2 , 3 >>> t (1 , 2 , 3)

Page 44: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

Estrutura da LinguagemEstrutura da Linguagem

• P r e s e n t a t io n P o w e r P o in t .

• P o w e r P o in tP r e s e n t a t io n .

• Mapeamento - Hash Tables• Dicionários

>>> d = {’chave’: ’valor ’,’nome’:’Aluno Teste’} >>> print d[ ’chave ’ ] # imprime ’ v a l o r ’

Page 45: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

Zen of Python

Bonito é melhor que feio.

Explícito é melhor que implícito.

Simples é melhor que complexo.

Complexo é melhor que complicado.

Plano é melhor que aglomerado.

Esparso é melhor que denso.

Legibilidade faz diferença.

Casos especiais não são especiais o bastante

para quebrar as regras.

Embora a praticidade vença a pureza.

Erros nunca devem passar silenciosamente.

Page 46: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

Zen of Python

A menos que sejam explicitamente silenciados.

Diante da ambigüidade, recuse a tentação de adivinhar.

Deve haver um -- e preferencialmente só um -- modo óbvio

para fazer algo.

Embora esse modo possa não ser óbvio à primeira vista a

menos que você seja holandês.

Agora é melhor que nunca.

Embora nunca freqüentemente seja melhor que

*exatamente* agora.

Se a implementação é difícil de explicar, é uma má idéia.

Se a implementação é fácil de explicar, pode ser uma boa

idéia.

Page 47: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

Comunidade Brasileira

•Site: Python Brasil

•www.pythonbrasil.com.br

•Email:

[email protected]

•IRC:

• irc.freenode.org, canal #python-br

•Congresso:

•www.pyconbrasil.com.br

Page 48: Python Com Baterias Incluídas

Jonh Edson Ribeiro de Carvalho

Python com Baterias IncluídasPython com Baterias Incluídas

Referências Bibliográficas

• Python - www.python.org

• Python Brasil - www.pythonbrasil.com.br

• WiKiPedia - http://pt.wikipedia.org/wiki/Python

• Rodrigo Senra - www.rodrigo.senra.nom.br

• Gustavo Barbieri - www.gustavobarbieri.com.br

• CookBook -

•www.aspn.activestate.com/ASPN/Python/Cookbook/

• OnLamp - http://www.onlamp.com/python/

• Eggs - www.python-eggs.org/links.html

Page 49: Python Com Baterias Incluídas

Com Baterias Incluídas

Msc. Jonh Edson Ribeiro de Carvalho

email: [email protected]

site: www.visual.pro.br