Por que Python?                          10 raz˜es para aprender Python                                o         Marco And...
Python Brasil[7]Encontro brasileiro da comunidade Python  Marco Andr´ Lopes Mendes <marcoandre@gmail.com>            e    ...
Uma breve introdu¸˜o                 cadesse que vos fala      1   Mestre em Ciˆncia da Computa¸˜o pela UFSC              ...
Uma breve introdu¸˜o                 caSobre a linguagem 1    Criada por Guido van Rossum em 1991 2    Origem do nome: gru...
1 - Python ´ legal            e                                                                            1   Simplesarqu...
2 - Python j´ vem com os acess´rios            a                 o Marco Andr´ Lopes Mendes <marcoandre@gmail.com>        ...
3 - Python ´ utilizado l´ fora           e            a Marco Andr´ Lopes Mendes <marcoandre@gmail.com>           e       ...
3 - Python ´ utilizado l´ fora           e            a Marco Andr´ Lopes Mendes <marcoandre@gmail.com>           e       ...
3 - Python ´ utilizado l´ fora           e            a Marco Andr´ Lopes Mendes <marcoandre@gmail.com>           e       ...
4 - Python ´ utilizado aqui dentro           e          LZT: AutoSystem                                                   ...
5 - Python ´ utilizado na web ao redor do mundo           e Marco Andr´ Lopes Mendes <marcoandre@gmail.com>           e   ...
5 - Python ´ utilizado na web ao redor do mundo           e  Diversos frameworks Marco Andr´ Lopes Mendes <marcoandre@gmai...
6 - Python ´ utilizado na web aqui no Brasil           e                  globo.com                                       ...
6 - Python ´ utilizado na web aqui no Brasil           e                    ucs.br                                        ...
7 - Tem emprego para programadores Python          python.org/community/jobs                        empregos.trovitbrasil....
8 - Python conversa com as outras linguagens  C e C++  void initspam ( void );  static PyObject * spam_system ( PyObject *...
8 - Python conversa com as outras linguagens  import javax . swing as libswing  pnumero = libswing . JOptionPane . showInp...
8 - Python conversa com as outras linguagensimport clrclr . AddReference ( " System . Windows . Forms " )from System . Win...
8 - Python conversa com as outras linguagens Marco Andr´ Lopes Mendes <marcoandre@gmail.com>           e                  ...
9 - Python ´ multiplataforma           e  At´ aqui, nada de surpreendente, certo?    e Marco Andr´ Lopes Mendes <marcoandr...
9 - Python ´ multiplataforma           e  XO/OLPC  Grande parte do projeto ´ desenvolvida em Python, incluindo:           ...
9 - Python ´ multiplataforma           e  Dispositivos m´veis                o            Maemo                           ...
10 - Python ´ multiparadigma            e  Programa¸˜o Estruturada          ca  import random  def jogaDados ():     dado1...
10 - Python ´ multiparadigma            e    Programa¸˜o Orientada a Objetos            caclass Fracao ( object ):        ...
10 - Python ´ multiparadigma            e  Programa¸˜o Funcional          ca  # Primos menores que 1000  print filter ( No...
Bˆnus 1: 11 - Python ´ boa como primeira linguagem o                   eaprenda a programar com Python      1   Experiˆnci...
Bˆnus 2: 12 - Existe uma comunidade forte ovocˆ tem com quem contar   e      1   Lista python-brasil: +3650 membros, 500 m...
Dorneles Trem´a: 1979 - 2011                                        eMarco Andr´ Lopes Mendes <marcoandre@gmail.com>      ...
1   Estes slides: slideshare.com/marrcandre    2   google*: marcoandre@gmail.com    3   twitter: @marrcandre    4   blog: ...
Upcoming SlideShare
Loading in...5
×

Porque Python? Semana Acadêmica UTFPR 2011

463

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
463
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Porque Python? Semana Acadêmica UTFPR 2011

  1. 1. Por que Python? 10 raz˜es para aprender Python o Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e 23 de agosto de 2011Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  2. 2. Python Brasil[7]Encontro brasileiro da comunidade Python Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  3. 3. Uma breve introdu¸˜o cadesse 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 Membro da diretoria da APyB Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  4. 4. Uma breve introdu¸˜o caSobre 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 Orientada ` objetos, estruturada e funcional a 6 Tipagem forte e dinˆmica a 7 Multiplataforma 8 Interpretada 9 Ambiente interativo10 Licen¸a compat´ com a GPL c ıvel Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  5. 5. 1 - Python ´ legal e 1 Simplesarquivo = open ( " emails . txt " )dominios = {} 2 Leg´ ıvelfor contato in arquivo : resto , dominio = contato . split ( " @ " ) 3 Clara dominio = dominio . replace ( " r n " , " " ) 4 Simplificada if dominio in dominios : dominios [ dominio ] += 1 5 Sofisticada else : dominios [ dominio ] = 1 6 Poderosaarquivo . close ()arquivo = open ( " dominios . txt " , " w " )for dominio in dominios . keys (): registro = " % s ;% s n " %( dominio , dominios [ dominio ]) arquivo . write ( registro )arquivo . close () Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  6. 6. 2 - Python j´ vem com os acess´rios a o Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  7. 7. 3 - Python ´ utilizado l´ fora e a Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  8. 8. 3 - Python ´ utilizado l´ fora e a Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  9. 9. 3 - Python ´ utilizado l´ fora e a Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  10. 10. 4 - Python ´ utilizado aqui dentro e LZT: AutoSystem Instituto Nokia de Tecnologia InVesalius Async: Stoq Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  11. 11. 5 - Python ´ utilizado na web ao redor do mundo e Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  12. 12. 5 - Python ´ utilizado na web ao redor do mundo e Diversos frameworks Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  13. 13. 6 - Python ´ utilizado na web aqui no Brasil e globo.com vericia.com uiner.com brasil.gov.br Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  14. 14. 6 - Python ´ utilizado na web aqui no Brasil e ucs.br certsign.com.br serpro.gov.br atepassar.com.br Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  15. 15. 7 - Tem emprego para programadores Python python.org/community/jobs empregos.trovitbrasil.com.br/python twitter.com/python_jobs google.com.br/intl/en/jobs/ Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  16. 16. 8 - Python conversa com as outras linguagens 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 , " s " , & orden )) return NULL ; sts = system ( orden ); return Py_BuildValue ( " i " , sts ); } static PyMethodDef SpamMethods [] = { { " system " , spam_system , METH_VARARGS } , { NULL , NULL } }; void initspam (){( void ) Py_InitModule ( " spam " , 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?
  17. 17. 8 - Python conversa com as outras linguagens 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 . s how Mes sage Dia log ( None , " Soma : % d " % soma ) Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  18. 18. 8 - Python conversa com as outras linguagensimport clrclr . AddReference ( " System . Windows . Forms " )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 M s g B uttonClick ( self , * args ): MessageBox . Show ( self . txtMessage . Text , " Message " )Application . Run ( FormV3 ()) Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  19. 19. 8 - Python conversa com as outras linguagens Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  20. 20. 9 - Python ´ multiplataforma e At´ aqui, nada de surpreendente, certo? e Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  21. 21. 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 Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  22. 22. 9 - Python ´ multiplataforma e Dispositivos m´veis o Maemo Iphone Android Symbian Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  23. 23. 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 " Jogador tirou % d + % d = % d " %( dado1 , dado2 , somaTemp ) return somaTemp soma = jogaDados () if soma == 7 or soma == 11: situacaoJogo = " GANHOU " elif soma == 2 or soma == 3 or soma == 12: situacaoJogo = " PERDEU " else : situacaoJogo = " CONTINUA " meuPonto = soma print " Ponto : " , meuPonto while situacaoJogo == " CONTINUA " : soma = jogaDados () if soma == meuPonto : situacaoJogo = " GANHOU " elif soma == 7: situacaoJogo = " PERDEU " if situacaoJogo == " GANHOU " : print " Jogador ganha " else : print " Jogador perde " Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  24. 24. 10 - Python ´ multiparadigma e Programa¸˜o Orientada a Objetos caclass 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 " % d /% d " %( 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?
  25. 25. 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) Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  26. 26. Bˆnus 1: 11 - Python ´ boa como primeira linguagem o eaprenda a programar com Python 1 Experiˆncia de ensino desde 2004 e 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 Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  27. 27. Bˆnus 2: 12 - Existe uma comunidade forte ovocˆ tem com quem contar e 1 Lista python-brasil: +3650 membros, 500 mensagens/mˆs. e 2 Associa¸˜o Python Brasil: amadurecimento da comunidade ca 3 PythonBrasil[7]: S˜o Paulo a 4 FISL, Latinoware: trilhas de Python 5 Grupos de Usu´rios, PythOn Campus, #horaextra a Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  28. 28. Dorneles Trem´a: 1979 - 2011 eMarco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  29. 29. 1 Estes slides: slideshare.com/marrcandre 2 google*: marcoandre@gmail.com 3 twitter: @marrcandre 4 blog: marrcandre.blogspot.com random.choice([’pergunta’, ’d´vida’, ’discuss˜o’]) u aMarco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×