• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Python com baterias incluídas v2.0
 

Python com baterias incluídas v2.0

on

  • 3,193 views

 

Statistics

Views

Total Views
3,193
Views on SlideShare
2,117
Embed Views
1,076

Actions

Likes
0
Downloads
43
Comments
0

4 Embeds 1,076

http://visual.pro.br 616
http://www.visual.pro.br 421
http://therioyou.com 32
http://www.therioyou.com 7

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Python com baterias incluídas v2.0 Python com baterias incluídas v2.0 Presentation Transcript

    • com baterias incluídas Msc. Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas Jonh Edson Ribeiro de Carvalho • Doutorando em Computação pela UFF • Mestre em Computação pela UFF • Área: Computação Visual e Interfaces •Graduado em Física pela UFF • Professor Universitário desde 2000 • Docente RTI - Universidade Gama Filho • Tutor à distância CEDERJ • Pesquisa Atualmente • Engine de Física para Jogos em GPU • Reconhecimento de Gestos na GPU em ambientes multiprojetivos de Realidade Virtual Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas Graal do Desenvolvedor • Qualidade • Extensibilidade • Facilidade • Escalabilidade • Legibilidade • Interoperabilidade • Portabilidade • Customização Rapidez no Ciclo de Desenvolvimento Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas Busca pela Ferramenta Perfeita http://people.mandriva.com/~prigaux/language-study/diagram.png Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas 2010 2009 1 1 Java 17.994% -1.53% A 2 2 C 17.866% +0.65% A 3 3 C++ 9.658% -0.84% A 4 4 PHP 9.180% -0.21% A 5 5 VB 5.413% -3.07% A 6 7 C# 4.986% +0.54% A 7 6 Python 4.223% -0.27% A 8 8 Perl 3.427% -0.60% A 9 19 Objective-C 3.150% +2.54% A 10 11 Delphi 2.428% http://www.tiobe.com/tpci.htm Jonh Edson Ribeiro de Carvalho Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas 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. Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas Ambiente 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. Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas 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... Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas 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. Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas 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. Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas 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, ... Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas 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) Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas 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 Jonh Edson Ribeiro de Carvalho Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas Interoperabilidade • 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) Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas Jython • É 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 http : / www. jy thon. org / Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas Jython • 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) Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas Iron import sys Python sys.path.append(r'C:Python24Lib') import clr clr.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) Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas Python • import appuifw, key_codes, For glcanvas, graphics • from gles import * Series ... S60 • def drawbox(aSizeX, aSizeY, aSizeZ): • #Desenha uma caixa com triângulos. • glScalef( aSizeX, aSizeY, aSizeZ ) • glDrawElementsub( GL_TRIANGLES, triangles ) Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas Casos Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas Casos 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, ... Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas Casos no Mundo Industrial 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.” Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas Casos no Mundo Apple: 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. Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas Casos no Mundo Philips: 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/ Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas Casos no Mundo: GOOGLE 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. Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas Casos no Mundo: GOOGLE Sistema 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 Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas Casos no Mundo: GOOGLE • 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! :-) Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas Opiniõ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. Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas Opiniõ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. Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas Computação Gráfica • Módulos • PyOpenGL; • PyGame (SDL); • CGkit; • PyODE; • PyCUDA, PyOpenCL • PyGPU (Processamento de Imagens na GPU); • Visual Python Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas Computação Gráfica Motor de Jogos • Blender • Panda3D • Ogre3D • Soya (Engine Jogos) • Kyra (Engine Jogos) • Games •Civilization IV • Em muitos jogos usado como script para nteligência Artificial. Jonh Edson Ribeiro de Carvalho Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas Sucessos em Software Livre • Gimp • BrOffice • BitTorrent • Gnumeric • Inkscape • Scribus Jonh Edson Ribeiro de Carvalho Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas FrameWorks Web • Zope / Plone • Django • Pylons • TurboGears Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas Nasa Science(Plone) Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas CIA(Plone) Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas Globo.com(Django) Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas Globo.com(Django) Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas Fazendo 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 Jonh Edson Ribeiro de Carvalho Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas Fazendo de Tudo • XML: PyXML, 4Suite, ElementTree, RDFLib, Cwm • Web: Webware, Cherrypy, Quixote, PSP, mod_python, Nevow • IDE: Spyder, Emacs, vi, Idle, SPE, Geany, Netbeans, Komodo, Wing, BlackAdder, PyScripter, Eclipse(Pydev), Boa Constructor, Eric, Gazpacho(Glade) Jonh Edson Ribeiro de Carvalho Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas Ciências e Engenharias • Ciência: Numarray, Numpy, SciPy, BioPython, AstroPy, Py2R/SPlus • Proc. Imagens: PIL, PythonMagick, Gimp-python, OpenCV, VTK, ITK • PyScience - http://pyscience-brasil.wikidot.com/ Jonh Edson Ribeiro de Carvalho Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas Estrutura da Linguagem • LinhaonP owe rCódigo e Indentação de • P re se nta ti P oi nt. • a owe r P oi ntP re se nta ti on. P = 1 b = 2 if a < b: print "a é menor " else : print "b é menor " • Maiúsculas e Minúsculas são diferentes! Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas Estrutura da Linguagem • Literaisowe r P oi nt. • P re se nta ti onP •• Strings re se nta ti on. P owe r P oi ntP •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 bruton’ •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 Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas Estrutura da Linguagem • Tipagem rDinâmica • P re se nta ti onP owe P oi nt. • a owe r P oi ntP re se nta ti on. P = "texto" a = 123 a = 123.0 a = [ 1 , 2 , 3 ] b = [ a , "123" , 333 ] d = { "chave": "valor" , "teste": a , "b" : 12345 } Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas Estrutura da Linguagem • Controle rdent.Fluxo • P re se nta ti onP owe P oi idade = int ( raw_input ( " Idade :" ) ) • P owe r P oi ntP re se nta ti on. if idade < 2: print " Bebe " elif 2 <= idade <= 13: print " Criançaa " elif 14 <= idade <= 19: print " Adolescente " else : print " Adulto " Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas Estrutura da Linguagem • Laços owe r P oi nt. • P re se nta ti onP • P owe r fruta se nta ti on. for P oi ntP re in [ "Banana" , "Maça" , "Uva" ]: print " Fruta :" , fruta d = { "a":1 , "b":2 } for chave , valor in d. iteritems (): print "Chave:",chave, ",Valor:",valor Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas Estrutura da Linguagem • Funções r P oi nt. • P re se nta ti onP owe • P owe r fatorial ti on. def P oi ntP re se nta ( numero ): if numero <= 1: return 1 else : return ( numero * fatorial ( numero - 1 ) ) Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas Estrutura da Linguagem • Classes r P oi nt. • P re se nta ti onP owe import datetime • P owe r P oi ntP re se nta ti on. 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 Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas Estrutura da Linguagem • Listas • P re se nta ti onP owe r P oi nt. • Criação • P owe r P oi ntP re se nta ti on. 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. Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas Estrutura da Linguagem • Tuplas oweParecido com as listas, porém é - • P re se nta ti onP r P oi nt. imutável: não se pode acrescentar, apagar ou • modificar valores. P owe r P oi ntP re se nta ti on. >>> 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) Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas Estrutura da Linguagem • Mapeamento - Hash Tables • P re se nta ti onP owe r P oi nt. • Dicionários • P owe r P oi ntP re se nta ti on. >>> d = {’chave’: ’valor ’,’nome’:’Aluno Teste’} >>> print d[ ’chave ’ ] # imprime ’ v a l o r ’ Jonh Edson Ribeiro de Carvalho
    • Python 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. Jonh Edson Ribeiro de Carvalho
    • Python 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. Jonh Edson Ribeiro de Carvalho
    • Python com Baterias Incluídas Comunidade Brasileira •Site: Python Brasil •www.python.org.br •Email: • python-brasil@yahoogrupos.com.br •IRC: • irc.freenode.org, canal #python-br •Congresso: •www.pythonbrasil.org.br Jonh Edson Ribeiro de Carvalho
    • Onde nos encontrar? • http://pythonrio.org • http://pythoncampus.org • http://dojorio.wordpress.com • http://horaextra.org Redes Sociais • Comunidade do Orkut - PythOnRio • Facebook - PythOnRio • Twitter - http://www.twitter.com/pythonrio • Flickr - http://www.flickr.com/pythonrio • Slideshare - http://www.slideshare.com/pythonrio • Vcasmo - http://www.vcasmo.com/user/pythonrio • Youtube
    • Listas de Discussão • PythonBrasil-pythonbrasil@yahoogrupos.com.br • PythOnRio - pythonrio@yahoogrupos.com.br • DojoRio - dojorio@googlegroups.com • #HoraExtra - horaextra@googlegroups.com Rede Social – Software Livre Brasil • http://softwarelivre.org/pythonrio • http://softwarelivre.org/pythoncampus
    • Python 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 Jonh Edson Ribeiro de Carvalho
    • com baterias incluídas Msc. Jonh Edson Ribeiro de Carvalho email: visual@visual.pro.br site: www.visual.pro.br