de 0 a python en 45 minutos

Upload: emanuel-martinez

Post on 07-Jul-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/18/2019 De 0 a Python en 45 Minutos...

    1/24

     

    Autor:● Daniel F Moisset - [email protected] - Except

    Modificaciones:● Natalia B Bidart - [email protected]

    Una breve introducción a Python

    De 0 a Python en 45'

    mailto:[email protected]:[email protected]

  • 8/18/2019 De 0 a Python en 45 Minutos...

    2/24

     

    Resumen de la charla

    Introducción

    Conceptos generales (con código)

    Código Más código

    Ejemplos

    Conclusión (python rulez)

  • 8/18/2019 De 0 a Python en 45 Minutos...

    3/24

     

    Introducción

    Python es un lenguaje creado en 1991 por

    Guido van Rossum

    Software Libre

    VHLL, interpretado, OO, dinámico

    Versión actual: 2.5 (2.4 se usa mucho)

    “Viene con las pilas incluidas”

    http://python.org

    http://en.wikipedia.org/wiki/Very_high-level_programming_languagehttp://python.org/http://python.org/http://en.wikipedia.org/wiki/Very_high-level_programming_language

  • 8/18/2019 De 0 a Python en 45 Minutos...

    4/24

     

    Usando python

    Modo interactivo

    pythonPython 2.4.2 (#2, Sep 30 2005, 21:19:01)[GCC 4.0.2 20050808 (prerelease) (!"nt"

    4.0.14"!"nt"8)$ on l%n"&2'ype help, opyr%*ht, re+%ts or l%ense or-ore %nor-at%on.

    a = 3+8 print a11

    6 * 954

    Modo scripting

    python programa.py

  • 8/18/2019 De 0 a Python en 45 Minutos...

    5/24

     

    Tipos básicos y valores

    Enteros (%nt/lon*): 0, 1, 42, /,12345/89012345/890999

    Reales (loat): 3.14, .5, 2.1e25

    Complejos (o-ple&): 3.2, (12./)

    Booleanos (!ool): 'r"e, alse

    one'ype: one

  • 8/18/2019 De 0 a Python en 45 Minutos...

    6/24

     

    Operadores básicos

    Aritmética (, , , 6, 7, )

    6+5 16/3 16.0/311 5 5.333333333 6+2.5 16%3 7**17

    8.5 1 2323051398/20/ Comparación (, , ;, , ;, )

    3==7 3

  • 8/18/2019 De 0 a Python en 45 Minutos...

    7/24

     

    Namespaces

    •Nombres: a-! A-"! #-$! % 

    # Crea%

  • 8/18/2019 De 0 a Python en 45 Minutos...

    8/24

     

    Secuencias

    Cadenas (str%n*/"n%o+e)DB%h%er%D, >DE%**%ns, "DSan artFnD="F -e pon*o a antaral o-pHs +e la ?%*Iela...

    Listas (l%st) )32+5,ython-[3, /, DPythonD$ [$[$

    Tuplas (t"ple) 32+5,ython"(3, /, DPythonD) 1"(1,)

    ()()

    3 / DPythonD

    3 / DPythonD

  • 8/18/2019 De 0 a Python en 45 Minutos...

    9/24

     

    Mutables e Inmutables

    Sólo los objetos “mutables” pueden alterarse

    entre su nacimiento y muerte

    Mutables: listas, diccionarios, tipos de datos

    “caseros” (clases)

    Inmutables: el resto de las cosas que vimos.

    3 / DPythonD

    /

    tuple

    list

    one

  • 8/18/2019 De 0 a Python en 45 Minutos...

    10/24

     

    Operaciones sobre secuencias

    Acceso, slicing

    $ita=)123)-- a(ena=,ython! $ita)2-

    3 a(ena)1-DD a(ena)35-DhoD $ita)1-

    [2, 3, [$$ Concatenación

    a*3DaaaD 12"+3"

    (1, 2, 3, 4)

    Comparación

    (am

  • 8/18/2019 De 0 a Python en 45 Minutos...

    11/24

     

    Operaciones en secuencias

    Pertenencia

    2 in )123)--'r"e te in tomate

    'r"e )23- in )123)--alse

    Conversión

    $it aa"

    [DD, DaD, DsD, DaD$ t'p$e)125-"(1, 2, 5) tr)12-"D[1, 2$D

    Borrado*

    $ita=)5713.2- (e$ $ita)0- $ita

    [/, 1, 4, 3.2$ (e$ $ita)2- $ita[/, 1$

  • 8/18/2019 De 0 a Python en 45 Minutos...

    12/24

     

    Builtins

    $en;!"%lt%n "nt%on len $en,ython!" + $en)123-"10 =$en ,ython!" + )123-"10 range10"[0, 1, 2, 3, 4, 5, , /, 8, 9$ range 8 13"[8, 9, 10, 11, 12$ range8255"[8, 13, 18, 23$ $ = )1 3 5 8 2 7- min$" ma$" 'm$"(1, 42, 4) orte($"[1, 3, 5, /, 8, 42$

  • 8/18/2019 De 0 a Python en 45 Minutos...

    13/24

     

    More Builtins

    a 7.5" ro'n( 7.5"(/.5, 8.0) =inp'tngree a$or "Jn*rese ?alor: 3+7 10 y=ra:;inp'tngree a$or "Jn*rese ?alor: 3+7 yD3/D =i$e(ato.tt"444 he$pinp't"

    Eelp on !"%lt%n "nt%on %np"t %n -o+"le KK!"%lt%nKK:

    %np"t(...)  %np"t([pro-pt$) ?al"e

    L"%?alent to e?al(raMK%np"t(pro-pt)).

  • 8/18/2019 De 0 a Python en 45 Minutos...

    14/24

     

    Diccionarios

    3

    4

    42

    Asociaciones *la+e → ,alor

    Acceso rpido (=ey2 2 $ah3>

    ()ey-42 $en("3 ()aia-=)- (e$ ()2- 2 in (alse $it("[D!lahD, DNeyD, D?a%aD$ (.a$'e"[3, 42, [$$

    DNeyD

    D!lahD

    42

  • 8/18/2019 De 0 a Python en 45 Minutos...

    15/24

     

    Manejando objetos

    o.nombre  accede al namespace dentro de o 

    (.a$'e;!"%lt%n -etho+ ?al"es o +%t o!et at 0&!/+8/4 3.5+2".imag

    2.0 $=)135- $.appen(9" $[1, 3, 5, 9$

    +%r(o ) lista los elementos del namespace de o 

    (ir )135-"...Dappen+D, Do"ntD, De&ten+D, D%n+e&D, D%nsertD, DpopD,Dre-o?eD, Dre?erseD, DsortD$

  • 8/18/2019 De 0 a Python en 45 Minutos...

    16/24

     

    Algunas instrucciones

    Output:

    print ?e$$o print ?e$$on print y

    Condicional:

    i not n in ( i $en$"41  print No et@ print 'n arhio  e$e  print $en$"arhioi eha4hoy

      o$or = re(e$i eha==hoy  o$or = ye$$o:e$e  o$or = green 

  • 8/18/2019 De 0 a Python en 45 Minutos...

    17/24

     

    Otras instrucciones

    Ciclos:

    or reng$on in i$eteto.tt".rea($ine"  i python in reng$on  print reng$on

    :hi$e n != 1  i n % 2==0  n = n/2  e$e  n = 3*n + 1

    !reaN, ont%n"e try / %nally, try / e&ept, assert, ra%se

    pass

  • 8/18/2019 De 0 a Python en 45 Minutos...

    18/24

     

    Módulos

    Los módulos son objetos compartidos

    Hay módulos estándares, bibliotecas, de

    usuario

    import o re o.ytem a$"  ="*"st 200S" o '" Oe 'h r Sa  1 2 3 4 5  / 8 9 10 11 12

    13 14 15 1 1/ 18 1920 21 22 23 24 25 22/ 28 29 30 31

    0 rom o import ytem popen

  • 8/18/2019 De 0 a Python en 45 Minutos...

    19/24

     

    Funciones

    Con (e! de+uel+en +alores con ret'rn(e men'menae opione"  m'etra opione menae y pi(e 'n a$or  print ABNC"  or opion in opione  print opion opione)opion-  ret'rn ra:;inp'tmenae"

    &armetros opcionales(e 'mar;iamonto ia=21"

      tota$ = monto * 100.0+ia"/100  ret'rn tota$print 'mar;ia311.75" 'mar;ia 67 10.5"

    &armetros +ariables(e prome(io *$"

      ret'rn 'm$"/$en$"

  • 8/18/2019 De 0 a Python en 45 Minutos...

    20/24

     

    Clases

    Tipos de objetos y sus operaciones$a tor  tor on i$mograDa

    (e ;;init;;e$ nomre"  e$.nomre = nomre

      e$.i$mograia = )-  (e at'ar e$ pe$i'$a"  e$.i$mograia.appen(pe$i'$a"  (e at'oBn e$ pe$i'$a"  ret'rn pe$i'$a in e$.imograia"  (e at'oEon e$ ator"

      or pe$i'$a in e$.i$mograia  i ator.at'oBnpe$i'$a"  ret'rn &r'e  ret'rn #a$ea = tor?'go Feaing"a.at'ar Gae"a.at'ar Aatri"

    i a.at'oEon " ...

  • 8/18/2019 De 0 a Python en 45 Minutos...

    21/24

     

    Conclusiones

    Es fácil!

    Se escribe y se lee rápido

    Es práctico (y viene con las pilas puestas)

    Es poderoso

    Es Software Libre

    Tiene una gran comunidad:

    http://python.com.ar/ 

    http://python.com.ar/http://python.com.ar/

  • 8/18/2019 De 0 a Python en 45 Minutos...

    22/24

     

    Preguntas?

    Autor: Daniel F Moisset

    [email protected]

    Modificaciones: Natalia B Bidart

    [email protected]

    mailto:[email protected]:[email protected]:[email protected]:[email protected]

  • 8/18/2019 De 0 a Python en 45 Minutos...

    23/24

     

    Que cosas puedo hacer?

    Scripts "para salir del paso"

    Aplicaciones de BDD

    Cliente/Servidor Servicios Web, Aplicaciones Web

    Software de Escritorio

    etc...

  • 8/18/2019 De 0 a Python en 45 Minutos...

    24/24

     

    En que plataformas corre

    GNU/Linux

    Windows 9x, NT, 2000, XP, ...

    Mac OS Classic, Mac OS X *BSD, Solaris, varios Unices

    Embedded (Palm)

    Nokia 6000 series

    y más....