SlideShare a Scribd company logo
Por que Python?
                          10 raz˜es para aprender Python
                                o


         Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
                   e



                                   22 de julho de 2010




Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
          e                                       Por que Python?
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   Membro da diretoria da APyB




  Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
            e                                       Por que Python?
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    Orientada ` objetos, estruturada e funcional
                a
 6    Tipagem forte e dinˆmica
                         a
 7    Multiplataforma
 8    Interpretada
 9    Ambiente interativo
10    Licen¸a compat´ com a GPL
           c        ıvel


     Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
               e                                       Por que Python?
1 - Python ´ legal
            e


                                                                            1   Simples
arquivo = open ( " emails . txt " )
dominios = {}                                                               2   Leg´
                                                                                   ıvel
for 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   Poderosa
arquivo . 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?
2 - Python j´ vem com os acess´rios
            a                 o




 Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
           e                                       Por que Python?
3 - Python ´ utilizado l´ fora
           e            a




 Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
           e                                       Por que Python?
3 - Python ´ utilizado l´ fora
           e            a




 Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
           e                                       Por que Python?
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?
5 - Python ´ utilizado na web ao redor do mundo
           e




 Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
           e                                       Por que Python?
5 - Python ´ utilizado na web ao redor do mundo
           e

  Diversos frameworks




 Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
           e                                       Por que Python?
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?
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?
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?
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?
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?
8 - Python conversa com as outras linguagens



import clr
clr . 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?
8 - Python conversa com as outras linguagens




 Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
           e                                       Por que Python?
9 - Python ´ multiplataforma
           e




  At´ aqui, nada de surpreendente, certo?
    e




 Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
           e                                       Por que Python?
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?
9 - Python ´ multiplataforma
           e
  Dispositivos m´veis
                o
            Maemo                                                    Iphone




                 Android
                                                                     Symbian




 Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
           e                                       Por que Python?
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?
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 " % 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?
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?
Bˆnus 1: 11 - Python ´ boa como primeira linguagem
 o                   e
aprenda 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?
Bˆnus 2: 12 - Existe uma comunidade forte
 o
vocˆ tem com quem contar
   e




      1   Lista python-brasil: 3241 membros, 500 mensagens/mˆs.
                                                            e
      2   Associa¸˜o Python Brasil: amadurecimento da comunidade
                 ca
      3   PythonBrasil[6]: na UFPR, em Curitiba/PR
      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?
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               a




Marco Andr´ Lopes Mendes <marcoandre@gmail.com>
          e                                       Por que Python?

More Related Content

PDF
Por que Python - PyConBrasil 2008
PDF
Porque Python - PythonBrasil[6]
PDF
Por que Python? - Latinoware 2009
PDF
Software Codigo Aberto Desktop
PPT
Versões do Ubuntu
PPT
Calculadora IP com libglade - PyconBrasil 2
ODP
Pymordida0 Semana de computação da SOCIESC - 2008/10
PDF
Porque Python - FISL 9.0
Por que Python - PyConBrasil 2008
Porque Python - PythonBrasil[6]
Por que Python? - Latinoware 2009
Software Codigo Aberto Desktop
Versões do Ubuntu
Calculadora IP com libglade - PyconBrasil 2
Pymordida0 Semana de computação da SOCIESC - 2008/10
Porque Python - FISL 9.0

Viewers also liked (19)

PDF
Porque Python? Semana Acadêmica UTFPR 2011
PDF
Por que Python? - FISL 10 - 2009
PDF
Por que Python? Latinoware 2011
PDF
Por que Python? - FURB - 2009
PDF
Python em um curso de Ciência da Computação - CALCOMP - FURB - 2010
PDF
Por que Python - Latinoware 2008
PPT
Uso de POO com Python - PyconBrasil 2
PDF
Python na Ciência da Computação - FLISOL 2011
PPT
Python no Ensino Superior - PyconBrasil 1
PDF
Por que Python? IFC Concórdia 2011
PDF
Por que python? fisl 14 - 2013
PPT
Educação Continuada
PDF
Por que Python? - PythonBrasil[5] - 2009
PDF
Configurando o Geany para Python - 03/2012
PDF
Porque Python?
PDF
Configurando o geany_para_python
PDF
Educação continuada
PDF
Resumo, Resenha e Resenha Crítica
PPT
Segurança da Informação
Porque Python? Semana Acadêmica UTFPR 2011
Por que Python? - FISL 10 - 2009
Por que Python? Latinoware 2011
Por que Python? - FURB - 2009
Python em um curso de Ciência da Computação - CALCOMP - FURB - 2010
Por que Python - Latinoware 2008
Uso de POO com Python - PyconBrasil 2
Python na Ciência da Computação - FLISOL 2011
Python no Ensino Superior - PyconBrasil 1
Por que Python? IFC Concórdia 2011
Por que python? fisl 14 - 2013
Educação Continuada
Por que Python? - PythonBrasil[5] - 2009
Configurando o Geany para Python - 03/2012
Porque Python?
Configurando o geany_para_python
Educação continuada
Resumo, Resenha e Resenha Crítica
Segurança da Informação
Ad

Porque Python? FISL11

  • 1. Por que Python? 10 raz˜es para aprender Python o Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e 22 de julho de 2010 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 Membro da diretoria 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 Orientada ` objetos, estruturada e funcional a 6 Tipagem forte e dinˆmica a 7 Multiplataforma 8 Interpretada 9 Ambiente interativo 10 Licen¸a compat´ com a GPL c ıvel Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 4. 1 - Python ´ legal e 1 Simples arquivo = open ( " emails . txt " ) dominios = {} 2 Leg´ ıvel for 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 Poderosa arquivo . 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?
  • 5. 2 - Python j´ vem com os acess´rios a o Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 6. 3 - Python ´ utilizado l´ fora e a Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 7. 3 - Python ´ utilizado l´ fora e a Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 8. 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?
  • 9. 5 - Python ´ utilizado na web ao redor do mundo e Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 10. 5 - Python ´ utilizado na web ao redor do mundo e Diversos frameworks Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 11. 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?
  • 12. 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?
  • 13. 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?
  • 14. 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?
  • 15. 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?
  • 16. 8 - Python conversa com as outras linguagens import clr clr . 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?
  • 17. 8 - Python conversa com as outras linguagens Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 18. 9 - Python ´ multiplataforma e At´ aqui, nada de surpreendente, certo? e Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 19. 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?
  • 20. 9 - Python ´ multiplataforma e Dispositivos m´veis o Maemo Iphone Android Symbian Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?
  • 21. 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?
  • 22. 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 " % 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?
  • 23. 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?
  • 24. Bˆnus 1: 11 - Python ´ boa como primeira linguagem o e aprenda 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?
  • 25. Bˆnus 2: 12 - Existe uma comunidade forte o vocˆ tem com quem contar e 1 Lista python-brasil: 3241 membros, 500 mensagens/mˆs. e 2 Associa¸˜o Python Brasil: amadurecimento da comunidade ca 3 PythonBrasil[6]: na UFPR, em Curitiba/PR 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?
  • 26. 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 a Marco Andr´ Lopes Mendes <marcoandre@gmail.com> e Por que Python?