Por que Python?
10 raz˜es para aprender Python
o
Marc...
Uma breve introdu¸˜o
ca
desse que vos fala
1 Mestre em Ciˆncia da Computa¸˜o pela UFSC
...
Uma breve introdu¸˜o
ca
Sobre a linguagem
1 Criada por Guido van Rossum em 1991
2 Or...
Raz˜o 1:
a
Python ´ legal
e
Mar...
1 - Python ´ legal
e
Simples e leg´
ıvel
Exemplos de programas (completos):
# Fibonacci ...
1 - Python ´ legal
e
Clara e elegante
from math import sqrt
print quot; Primos : 2 quot; ,
c , p...
1 - Python ´ legal
e
Poderosa e sofisticada
arquivo = open ( quot; emails . txt quot; )
dominios = {}
...
Raz˜o 2:
a
Python j´ vem com os acess´rios
a o
...
2 - Python j´ vem com os acess´rios
a o
e eles fazem a diferen¸a
c
...
2 - Python j´ vem com os acess´rios
a o
e eles fazem a diferen¸a
c
...
2 - Python j´ vem com os acess´rios
a o
e eles fazem a diferen¸a
c
...
Raz˜o 3:
a
Python ´ utilizado l´ fora
e a
...
3 - Python ´ utilizado l´ fora
e a
por grandes organiza¸oes
c˜
Google
...
3 - Python ´ utilizado l´ fora
e a
por grandes organiza¸oes
c˜
Google
”P...
3 - Python ´ utilizado l´ fora
e a
por grandes organiza¸oes
c˜
Youtube
...
3 - Python ´ utilizado l´ fora
e a
por grandes organiza¸oes
c˜
Industrial...
3 - Python ´ utilizado l´ fora
e a
por grandes organiza¸oes
c˜
DreamWorks...
3 - Python ´ utilizado l´ fora
e a
por grandes organiza¸oes
c˜
Diversos o...
Raz˜o 4:
a
Python ´ utilizado aqui dentro
e
Marco Andr´ L...
4 - Python ´ utilizado aqui dentro
e
com sucesso
Async - Stoq: aplicativos livres para gest˜o comercial
...
4 - Python ´ utilizado aqui dentro
e
com sucesso
LZT - AutoSystem: automa¸˜o de postos de combust´
...
4 - Python ´ utilizado aqui dentro
e
com sucesso
INdT - Instituto Nokia de Tecnologia
http://www.ind...
4 - Python ´ utilizado aqui dentro
e
com sucesso
InVesalius - Reconstru¸˜o 3D de imagens m´dicas
...
Raz˜o 5:
a
Python ´ utilizado na web ao redor do mundo
e
Marco Andr´ Lopes Mendes <marcoand...
5 - Python ´ utilizado na web
e
ao redor do mundo
Novell
http://www.novell.com/
Marco Andr´ Lopes...
5 - Python ´ utilizado na web
e
ao redor do mundo
CIA
https://www.cia.gov/
Marco Andr´ Lopes Mende...
5 - Python ´ utilizado na web
e
ao redor do mundo
Outros sites:
1 Free Software Foundation
...
Raz˜o 6:
a
Python ´ utilizado na web aqui no Brasil
e
Marco Andr´ Lopes M...
6 - Python ´ utilizado na web
e
aqui no Brasil
IDG Brasil
http://www.idg.com.br/
Marco Andr´ Lope...
6 - Python ´ utilizado na web
e
aqui no Brasil
Vericia - Busca de Im´veis
o
...
6 - Python ´ utilizado na web
e
aqui no Brasil
Rep´blica Federativa do Brasil
u
http://www.bra...
6 - Python ´ utilizado na web
e
aqui no Brasil
Muitos outros exemplos:
Cˆmara dos deputados
...
Raz˜o 7:
a
Tem emprego para programadores Python
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
...
7 - Tem emprego para programadores Python
sem sair daqui
Google Brasil - Belo Horizonte
http://www.google.co...
7 - Tem emprego para programadores Python
sem sair daqui
INdT - Recife
http://www.nabble.com/Oportunidade-Im...
7 - Tem emprego para programadores Python
sem sair daqui
Ao redor do Brasil - talvez da sua casa!
1 Async Ope...
Raz˜o 8:
a
Python conversa com outras linguagens
Marco Andr´ Lopes Mendes <marcoandre@gmail.com>...
8 - Python conversa com as outras linguagens
e convive bem com elas
C e C++
void initspam ( void );
static PyOb...
8 - Python conversa com as outras linguagens
e convive bem com elas
Java: Jython
import javax . swing as libswing
...
8 - Python conversa com as outras linguagens
e convive bem com elas
.Net: IronPython
import clr
clr . AddReferen...
Raz˜o 9:
a
Python ´ multiplataforma
e
Marco Andr´...
9 - Python ´ multiplataforma
e
1 Linux
2 Unix
3 Windows
4 MacOS
At´ aqui, na...
9 - Python ´ multiplataforma
e
Maemo
http://www.maemo.org
Marco Andr´ Lopes Mendes <marcoandre@gmail.c...
9 - Python ´ multiplataforma
e
XO/OLPC
Grande parte do projeto ´ desenvolvida em Python, incluindo:
...
9 - Python ´ multiplataforma
e
PyS60 - Celulares Nokia S´rie 60
e
http://wi...
9 - Python ´ multiplataforma
e
iPhone
O Django foi uma das primeiras aplica¸˜es complexas portadas
...
Raz˜o 10:
a
Python ´ multiparadigma
e
Marco Andr´...
10 - Python ´ multiparadigma
e
Programa¸˜o Estruturada
ca
import random
def jogaDados ():
...
10 - Python ´ multiparadigma
e
Programa¸˜o Orientada a Objetos
ca
class Fracao ( object ): ...
10 - Python ´ multiparadigma
e
Programa¸˜o Funcional
ca
# Primos menores que 1000
print filte...
Bˆnus
o
Duas raz˜es adicionais
o
Marco Andr´...
Bˆnus 1: 11 - Python ´ boa como primeira linguagem
o e
aprenda a programar com Python
1 Uso...
Bˆnus 2: 12 - Existe uma comunidade forte
o
vocˆ tem com quem contar
e
1 Lista python-brasil: cerca de 500...
Agradecimentos
1 Eduardo Dutka
2 Eduardo da Silva
3 Elvis Pf¨tzenreuter
u
...
Discuss˜o
a
Um de cada vez, por favor ;-)
Contato:
1 google*: marco...
Referˆncias
e
http://pythonBrasil.com.br
http://python.org
http://www.pyConBrasil.com.br...
Referˆncias
e
http://www.lzt.com.br/autosystem.php
http://www.indt.org.br
http://music.a...
Referˆncias
e
http://www.maemo.org
http://wiki.laptop.org/go/Python
http://www.freesoft...
of 58

Por que Python - Latinoware 2008

Published on: Mar 4, 2016
Published in: Technology      
Source: www.slideshare.net


Transcripts - Por que Python - Latinoware 2008

  • 1. Por que Python? 10 raz˜es para aprender Python o Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e 24 de outubro de 2008 Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 2. Uma breve introdu¸˜o ca desse que vos fala 1 Mestre em Ciˆncia da Computa¸˜o pela UFSC e ca 2 Professor desde 1995 1 Usu´rio Unix desde 1992 e Linux desde 1999 a 2 Entusiasta de software de c´digo aberto o 1 Membro da comunidade Python desde 2004 2 Membro fundador da Associa¸˜o Python Brasil (APyB) ca 3 Atual diretor de marketing da APyB Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 3. Uma breve introdu¸˜o ca Sobre a linguagem 1 Criada por Guido van Rossum em 1991 2 Origem do nome: grupo de humoristas Monty Python 3 Linguagem de alt´ ıssimo n´ (VHLL) ıvel 4 Sintaxe simples e f´cil de ser assimilada a 5 Linguagem orientada ` objetos com suporte aos paradigmas a estrutural e funcional 6 Tipagem forte e dinˆmica a 7 Multiplataforma 8 Interpretada: compila para bytecode e interpreta 9 Ambiente interativo 10 Licen¸a de c´digo aberto, compat´ com a GPL c o ıvel Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 4. Raz˜o 1: a Python ´ legal e Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 5. 1 - Python ´ legal e Simples e leg´ ıvel Exemplos de programas (completos): # Fibonacci # Fatorial a =1 n = int ( raw_input ( quot; Fatorial de : quot; )) b =1 fatorial = 1 for i in range (42): print quot; % d ! = quot; %n , print a , i = n a,b = b,a+b while i > 0: fatorial = fatorial * i print quot; % d quot; %i , if i != 1: print quot; . quot; , i -= 1 # Primos ehprimo = True numero = input ( quot; Informe o numero : quot; ) i = 2 while i < numero : if numero % i == 0: ehprimo = False break i += 1 if ehprimo : print quot; Primo : quot; , numero else : print numero , ’ possui fator ’ , i Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 6. 1 - Python ´ legal e Clara e elegante from math import sqrt print quot; Primos : 2 quot; , c , p , primos , limite = 1 , 1 , [2 ,] , 1000 for numero in xrange (3 , limite +1 ,2): ehprimo = 1 for i in primos : c += 1 if numero % i == 0: ehprimo = 0 break if i > sqrt ( numero ): break if ehprimo : primos . append ( numero ) print numero , p += 1 print quot; n nForam encontrados % d numeros primos . quot; % p print quot; Foram necessarias % d comparacoes . quot; % c Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 7. 1 - Python ´ legal e Poderosa e sofisticada arquivo = open ( quot; emails . txt quot; ) dominios = {} for contato in arquivo : resto , dominio = contato . split ( quot; @ quot; ) dominio = dominio . replace ( quot; r n quot; , quot; quot; ) if dominio in dominios : dominios [ dominio ] += 1 else : dominios [ dominio ] = 1 arquivo . close () arquivo = open ( quot; dominios . txt quot; , quot; w quot; ) print quot; % -30 s - % -5 s quot; %( quot; Dominios quot; , quot; Ocorrencias quot; ) for dominio in dominios . keys (): print quot; % -30 s - % -5 d quot; %( dominio , dominios [ dominio ]) registro = quot; % s ;% s n quot; %( dominio , dominios [ dominio ]) arquivo . write ( registro ) arquivo . close () Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 8. Raz˜o 2: a Python j´ vem com os acess´rios a o Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 9. 2 - Python j´ vem com os acess´rios a o e eles fazem a diferen¸a c import urllib pagina = urllib . urlopen ( quot; http :// br - linux . org quot; ) for linha in pagina : if quot; node - title quot; not in linha : tmp = linha . split ( ’& gt ; ’ ,2)[2] nome = tmp . split ( ’& lt ; ’ ,1)[0] print nome pagina . close () a = set ( open ( quot; pacotesInstalados -20080827. txt quot; , quot; r quot; ). readlines ()) b = set ( open ( quot; pacotesInstalados -20080917. txt quot; , quot; r quot; ). readlines ()) diferenca = b - a open ( quot; diferenca . txt quot; , quot; w quot; ). writelines ( diferenca ) Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 10. 2 - Python j´ vem com os acess´rios a o e eles fazem a diferen¸a c arquivo = open ( quot; squid . log quot; ,quot; r quot; ) lista = arquivo . readlines () arquivo . close () sites =[] for linha in lista : try : if quot; DENIED quot; in linha : inicio = linha . index ( quot; // quot; ) fim = linha . index ( quot; / quot; , inicio +2) site = linha [ inicio +2: fim ] sites . append ( site ) except : pass dicSites = {} for site in sites : dicSites [ site ] = dicSites . get ( site ,0) + 1 l i s t a S i t e sO rd e na da = sorted ( dicSites . items () , key = itemgetter (1)) Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 11. 2 - Python j´ vem com os acess´rios a o e eles fazem a diferen¸a c Bibliotecas: 1 persistˆncia de objetos e 2 banco de dados 3 gera¸˜o de pdfs ca 4 gera¸˜o de gr´ficos ca a 5 protocolos de redes 6 web 7 criptografia 8 muito mais... http://www.pythonbrasil.com.br/moin.cgi/CookBook Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 12. Raz˜o 3: a Python ´ utilizado l´ fora e a Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 13. 3 - Python ´ utilizado l´ fora e a por grandes organiza¸oes c˜ Google http://web.archive.org/web/19990204033714/google.stanford.edu/about.html Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 14. 3 - Python ´ utilizado l´ fora e a por grandes organiza¸oes c˜ Google ”Python tem sido uma parte importante do Google desde o in´ ıcio, e permanece assim conforme o sistema cresce e evolui. Hoje, dezenas de engenheiros do Google usam Python, e estamos procurando por mais pessoas com conhecimento nessa linguagem.”Peter Norvig, diretor de qualidade de busca do Google Inc. http://www.pythonbrasil.com.br/moin.cgi/PythonNoGoogle ”[...] nossa filosofia geral ´ ’Python onde podemos, C++ onde e somos obrigados.’ Python n˜o ´ definitivamente apenas um a e pequeno peda¸o, nem ´ usado apenas para tarefas ’de scripting’; se c e fic´ssemos sem todo nosso c´digo Python de uma hora para outra, a o nossa poderosa infra-estrutura que tem sido descrita como ’a arma secreta do Google’ ficaria abalada.”Alex Martelli, L´ T´cnico, ıder e Sistemas de Produ¸˜o, Google Inc. ca http://groups.google.com/group/comp.lang.python/browse_thread/thread/af75a3e91a03ec18/ Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 15. 3 - Python ´ utilizado l´ fora e a por grandes organiza¸oes c˜ Youtube ”Python ´ r´pido o suficiente para o nosso site e permite que n´s e a o produzamos caracter´ısticas que pode ser mantidas em tempo recorde, com um m´ınimo de desenvolvedores.”Cuong Do, Arquiteto de Software, YouTube.com http://www.python.org/about/quotes/ ”O YouTube (uma das propriedades mais valiosas do Google) ´ e essencialmente todo Python [...].”Alex Martelli, L´ T´cnico, Sistemas ıder e de Produ¸˜o, Google Inc. ca http://groups.google.com/group/comp.lang.python/browse_thread/thread/af75a3e91a03ec18/ Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 16. 3 - Python ´ utilizado l´ fora e a por grandes organiza¸oes c˜ Industrial Light and Magic ”Python desempenha um papel-chave no nosso esquema de produ¸˜o. Sem ela um projeto do tamanho de ’Guerras nas ca Estrelas: Epis´dio II’ teria sido muito dif´ de sair. Da o ıcil renderiza¸˜o da multid˜o ao processamento em lote e a ca a composi¸˜o, Python mant´m todas as partes unidas.”Tommy ca e Burnette, Diretor T´cnico Sˆnior, ILM e e http://www.python.org/about/quotes/ Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 17. 3 - Python ´ utilizado l´ fora e a por grandes organiza¸oes c˜ DreamWorks ”Gostar´ıamos de ser tudo Python, mas hoje ainda temos muito de Perl.”Ed Leonard, Diretor de Tecnologia de Anima¸˜o, DreamWorks ca ”A nossa equipe tem baseado a transi¸˜o de Perl para Python na ca facilidade. H´ trˆs raz˜es prim´rias para isso. A cria¸˜o de a e o a ca bindings em Python para uma biblioteca C++ ´ muito f´cil [...]. A e a natureza orientada a objeto de Python ´ muito atraente [...]. E e Python ´ uma cidad˜ de primeira classe [...] na nossa ind´stria. ” e a u Darin Grant, Chefe de Produ¸˜o de Tecnologia, DreamWorks ca http://marrcandre.blogspot.com/2007/06/linux-alimentando-o-ogro.html Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 18. 3 - Python ´ utilizado l´ fora e a por grandes organiza¸oes c˜ Diversos outros exemplos: 1 Nokia 2 RedHat 3 Canonical 4 OpenOffice 5 Blender 6 Gimp http://www.python.org/about/success/ Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 19. Raz˜o 4: a Python ´ utilizado aqui dentro e Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 20. 4 - Python ´ utilizado aqui dentro e com sucesso Async - Stoq: aplicativos livres para gest˜o comercial a http://www.async.com.br Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 21. 4 - Python ´ utilizado aqui dentro e com sucesso LZT - AutoSystem: automa¸˜o de postos de combust´ ca ıvel http://www.lzt.com.br/autosystem.php Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 22. 4 - Python ´ utilizado aqui dentro e com sucesso INdT - Instituto Nokia de Tecnologia http://www.indt.org.br Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 23. 4 - Python ´ utilizado aqui dentro e com sucesso InVesalius - Reconstru¸˜o 3D de imagens m´dicas ca e http://www.cenpra.gov.br/promed/software.htm Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 24. Raz˜o 5: a Python ´ utilizado na web ao redor do mundo e Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 25. 5 - Python ´ utilizado na web e ao redor do mundo Novell http://www.novell.com/ Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 26. 5 - Python ´ utilizado na web e ao redor do mundo CIA https://www.cia.gov/ Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 27. 5 - Python ´ utilizado na web e ao redor do mundo Outros sites: 1 Free Software Foundation 2 Bah´’´ International Community aı 3 Nokia 4 CBS 5 OTAN 6 Oxfam America 7 Trolltech 8 AOL Music Canada http://plone.net/sites/ http://code.djangoproject.com/wiki/DjangoPoweredSites Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 28. Raz˜o 6: a Python ´ utilizado na web aqui no Brasil e Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 29. 6 - Python ´ utilizado na web e aqui no Brasil IDG Brasil http://www.idg.com.br/ Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 30. 6 - Python ´ utilizado na web e aqui no Brasil Vericia - Busca de Im´veis o http://www.vericia.com Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 31. 6 - Python ´ utilizado na web e aqui no Brasil Rep´blica Federativa do Brasil u http://www.brasil.gov.br Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 32. 6 - Python ´ utilizado na web e aqui no Brasil Muitos outros exemplos: Cˆmara dos deputados a Presidˆncia da Rep´blica e u Carta na Escola SEBRAE CertiSign SERPRO Universidade Metodista UNESCO Brasil OAB/SP Varig Politec http://webinsider.uol.com.br/index.php/2006/08/28/python-e-opcao-para-desenvolvimento-web/ Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 33. Raz˜o 7: a Tem emprego para programadores Python Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 34. 7 - Tem emprego para programadores Python sem sair daqui Google Brasil - Belo Horizonte http://www.google.com.br/support/jobs/bin/answer.py?answer=40943 Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 35. 7 - Tem emprego para programadores Python sem sair daqui INdT - Recife http://www.nabble.com/Oportunidade-Imperd%C3%ADvel-de-Emprego-no-Recife-p10955269.html Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 36. 7 - Tem emprego para programadores Python sem sair daqui Ao redor do Brasil - talvez da sua casa! 1 Async Open Source 2 LZT Inform´tica a 3 IBM 4 Governo Brasileiro 5 Sebrae 6 SERPRO 7 Simples Consultoria 8 Weimar Consultoria Bons programadores Python n˜o ficam sem emprego no Brasil a Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 37. Raz˜o 8: a Python conversa com outras linguagens Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 38. 8 - Python conversa com as outras linguagens e convive bem com elas C e C++ void initspam ( void ); static PyObject * spam_system ( PyObject * self , PyObject * args ); static PyObject * spam_system ( self , args ) PyObject * self ; PyObject * args ; { char * orden ; int sts ; if (! PyArg_ParseTuple ( args , quot; s quot; , & orden )) return NULL ; sts = system ( orden ); return Py_BuildValue ( quot; i quot; , sts ); } static PyMethodDef SpamMethods [] = { { quot; system quot; , spam_system , METH_VARARGS } , { NULL , NULL } }; void initspam (){( void ) Py_InitModule ( quot; spam quot; , SpamMethods );} int main ( int argc , char ** argv ){ P y _ S e tPr ogra mNa me ( argv [0]); Py_Initialize (); initspam (); return 1; } Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 39. 8 - Python conversa com as outras linguagens e convive bem com elas Java: Jython import javax . swing as libswing pnumero = libswing . JOptionPane . showInputDialog ( quot; Digite um Numero Inteiro : quot; ) snumero = libswing . JOptionPane . showInputDialog ( quot; Digite um Numero Inteiro : quot; ) soma = int ( pnumero ) + int ( snumero ) libswing . JOptionPane . s how Mes sage Dia log ( None , quot; Soma : % d quot; % soma ) http://www.linhadecodigo.com.br/Artigo.aspx?id=496 Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 40. 8 - Python conversa com as outras linguagens e convive bem com elas .Net: IronPython import clr clr . AddReference ( quot; System . Windows . Forms quot; ) from System . Windows . Forms import * class FormV3 ( Form ): def __init__ ( self ): self . Text = ’ Hello World ’ self . Controls . Add ( Label ( Text = ’ Enter Message : ’ )) self . txtMessage = TextBox ( Left =100) self . Controls . Add ( self . txtMessage ) msgButton = Button ( Text = ’ Message ’ , Left =20 , Top =25) msgButton . Click += self . OnMsgButtonClick self . Controls . Add ( msgButton ) def O n MsgButtonClick ( self , * args ): MessageBox . Show ( self . txtMessage . Text , quot; Message quot; ) Application . Run ( FormV3 ()) http://www.codeplex.com/IronPython/Wiki/View.aspx?title=Samples Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 41. Raz˜o 9: a Python ´ multiplataforma e Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 42. 9 - Python ´ multiplataforma e 1 Linux 2 Unix 3 Windows 4 MacOS At´ aqui, nada de surpreendente, certo? e Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 43. 9 - Python ´ multiplataforma e Maemo http://www.maemo.org Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 44. 9 - Python ´ multiplataforma e XO/OLPC Grande parte do projeto ´ desenvolvida em Python, incluindo: e 1 A interface gr´fica Sugar a 2 V´rias aplica¸˜es e jogos a co 3 O sistema de arquivos http://wiki.laptop.org/go/Python http://www.freesoftwaremagazine.com/blogs/olpc_kicks_off_pycon_2007 Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 45. 9 - Python ´ multiplataforma e PyS60 - Celulares Nokia S´rie 60 e http://wiki.opensource.nokia.com/projects/PyS60 Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 46. 9 - Python ´ multiplataforma e iPhone O Django foi uma das primeiras aplica¸˜es complexas portadas co http://devlog.waltercruz.com/django_rodando_no_iphone Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 47. Raz˜o 10: a Python ´ multiparadigma e Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 48. 10 - Python ´ multiparadigma e Programa¸˜o Estruturada ca import random def jogaDados (): dado1 = random . randrange (1 ,7) dado2 = random . randrange (1 ,7) somaTemp = dado1 + dado2 print quot; Jogador tirou % d + % d = % d quot; %( dado1 , dado2 , somaTemp ) return somaTemp soma = jogaDados () if soma == 7 or soma == 11: situacaoJogo = quot; GANHOU quot; elif soma == 2 or soma == 3 or soma == 12: situacaoJogo = quot; PERDEU quot; else : situacaoJogo = quot; CONTINUA quot; meuPonto = soma print quot; Ponto : quot; , meuPonto while situacaoJogo == quot; CONTINUA quot; : soma = jogaDados () if soma == meuPonto : situacaoJogo = quot; GANHOU quot; elif soma == 7: situacaoJogo = quot; PERDEU quot; if situacaoJogo == quot; GANHOU quot; : print quot; Jogador ganha quot; else : print quot; Jogador perde quot; Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 49. 10 - Python ´ multiparadigma e Programa¸˜o Orientada a Objetos ca class Fracao ( object ): python -i poo - fracoes . py def __mdc ( self , m , n ): >>> a = Fracao (5 ,7) if m % n == 0: >>> b = Fracao (3 ,4) return n >> r1 = a * b else : >>> print r1 return self . __mdc (n , m % n ) 15/28 >>> c = Fracao (3 ,5) def __init__ ( self , numerador , denominador =1): >> r2 = a * c g = self . __mdc ( numerador , denominador ) >>> print r2 self . numerador = numerador / g 3/7 self . denominador = denominador / g def __repr__ ( self ): return quot; % d /% d quot; %( self . numerador , self . denominador ) def __mul__ ( self , outro ): if isinstance ( outro , int ): outro = Fracao ( outro ) return Fracao ( self . numerador * outro . numerador , self . denominador * outro . denominador ) __rmul__ = __mul__ Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 50. 10 - Python ´ multiparadigma e Programa¸˜o Funcional ca # Primos menores que 1000 print filter ( None , map ( lambda y : y * reduce ( lambda x , y : x * y !=0 , map ( lambda x , y = y : y %x , range (2 , int ( pow (y ,0.5)+1))) ,1) , range (2 ,1000))) # F i b o n a c c i : 10 p r i m e i r o s numeros print map ( lambda x , f = lambda x , f :( x <=1) or ( f (x -1 , f )+ f (x -2 , f )): f (x , f ) , range (10)) # C o n j u n t o de M a n d e l b r o t print ( lambda Ru , Ro , Iu , Io , IM , Sx , Sy : reduce ( lambda x , y : x +y , map ( lambda y , Iu = Iu , Io = Io , Ru = Ru , Ro = Ro , Sy = Sy , L = lambda yc , Iu = Iu , Io = Io , Ru = Ru , Ro = Ro , i = IM , Sx = Sx , Sy = Sy : reduce ( lambda x , y : x +y , map ( lambda x , xc = Ru , yc = yc , Ru = Ru , Ro = Ro , i =i , Sx = Sx , F = lambda xc , yc ,x ,y ,k , f = lambda xc , yc ,x ,y ,k , f :( k <=0) or ( x * x + y * y >=4.0) or 1+ f ( xc , yc , x *x - y * y + xc ,2.0* x * y + yc ,k -1 , f ): f ( xc , yc ,x ,y ,k , f ): chr ( 64+ F ( Ru + x *( Ro - Ru )/ Sx , yc ,0 ,0 , i )) , range ( Sx ))): L ( Iu + y *( Io - Iu )/ Sy ) , range ( Sy ))))( -2.1 , 0.7 , -1.2 , 1.2 , 30 , 80 , 24) http://www.pythonbrasil.com.br/moin.cgi/PythonFuncional Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 51. Bˆnus o Duas raz˜es adicionais o Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 52. Bˆnus 1: 11 - Python ´ boa como primeira linguagem o e aprenda a programar com Python 1 Uso no IST desde 2004 com sucesso 2 V´rios iniciativas no Brasil e no mundo a 3 MIT copiou nossa id´ia :) e 4 Faz bem ` auto-estima do iniciante a 5 Uso pode ser extrapolado para outras mat´rias e http://www.amk.ca/diary/2006/11/mit_to_try_python_for_introduc.html Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 53. Bˆnus 2: 12 - Existe uma comunidade forte o vocˆ tem com quem contar e 1 Lista python-brasil: cerca de 500 mensagens por mˆs. e 2 Associa¸˜o Python Brasil: amadurecimento da comunidade ca 3 PyConBrasil: evento de alto n´ t´cnico ıvel e 4 FISL: nosso ”segundo”encontro anual 5 Diversos grupos de usu´rios ao redor do Brasil a http://pythonbrasil.com.br Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 54. Agradecimentos 1 Eduardo Dutka 2 Eduardo da Silva 3 Elvis Pf¨tzenreuter u 4 ´ Erico Andrei 5 Humberto Di´genes o 6 Mehran Misaghi 7 Osvaldo Santana Neto 8 Rodrigo Curvˆllo e 9 Rodrigo Senra 10 Ramiro Luz E muito obrigado a todos vocˆs pela presen¸a! e c Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 55. Discuss˜o a Um de cada vez, por favor ;-) Contato: 1 google*: marcoandre@gmail.com 2 blog: http://marrcandre.blogspot.com 3 slideshare: http://slideshare.com/marrcandre Muito obrigado! Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 56. Referˆncias e http://pythonBrasil.com.br http://python.org http://www.pyConBrasil.com.br http://associacao.pythonBrasil.com.br http://www.pythonBrasil.com.br/moin.cgi/CookBook http://web.archive.org/web/19990204033714/google.stanford.edu/about.html http://groups.google.com/group/comp.lang.python/browse_thread/thread/af75a3e91a03ec18/ http://www.python.org/about/quotes/ http://www.pythonbrasil.com.br/moin.cgi/PythonNoGoogle http://www.sounerd.com.br/index.php?option=com_content&task=view&id=191&Itemid=43 http://panela.blog-city.com/python_at_google_greg_stein__sdforum.htm http://marrcandre.blogspot.com/2007/06/linux-alimentando-o-ogro.html http://www.python.org/about/success/ http://www.async.com.br Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 57. Referˆncias e http://www.lzt.com.br/autosystem.php http://www.indt.org.br http://music.aol.ca/ http://www.novell.com/ https://www.cia.gov/ http://plone.net/sites/ http://code.djangoproject.com/wiki/DjangoPoweredSites http://www.idg.com.br/ http://www.vericia.com http://www.brasil.gov.br http: //webinsider.uol.com.br/index.php/2006/08/28/python-e-opcao-para-desenvolvimento-web/ http://www.google.com.br/support/jobs/bin/answer.py?answer=40943 http://www.nabble.com/Oportunidade-Imperd%C3%ADvel-de-Emprego-no-Recife-p10955269.html Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 58. Referˆncias e http://www.maemo.org http://wiki.laptop.org/go/Python http://www.freesoftwaremagazine.com/blogs/olpc_kicks_off_pycon_2007 http://wiki.opensource.nokia.com/projects/PyS60 http://www.epx.com.br/artigos/pys60.php http://devlog.waltercruz.com/django_rodando_no_iphone http://www.pythonbrasil.com.br/moin.cgi/PythonFuncional http://www.cenpra.gov.br/promed/software.htm http://www.codeplex.com/IronPython/Wiki/View.aspx?title=Samples http://www.pythonbrasil.com.br/moin.cgi/PythonComC http://www.pythonbrasil.com.br/moin.cgi/ExtendendoCPython http://www.amk.ca/diary/2006/11/mit_to_try_python_for_introduc.html fatorw.com/2007/04/14/arte-do-comeco/ Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?

Related Documents