Upgrade to Pro — share decks privately, control downloads, hide ads and more …

libreto.pdf

Roberto Alsina
May 05, 2012
97

 libreto.pdf

Roberto Alsina

May 05, 2012
Tweet

Transcript

  1. Objetivo de la charla • Que vean cosas que no

    vieron antes • Que se pongan a buscar en PyPI • Que me digan que encuentran Roberto Alsina - ralsina@netmanagers.com.ar
  2. Primer módulo: inline ¿Cuándo sirve? • ¿Python es demasiado lindo

    para vos? Roberto Alsina - ralsina@netmanagers.com.ar
  3. Primer módulo: inline ¿Cuándo sirve? • ¿Python es demasiado lindo

    para vos? • ¿Python es demasiado lento para vos? Roberto Alsina - ralsina@netmanagers.com.ar
  4. Primer módulo: inline ¿Cuándo sirve? • ¿Python es demasiado lindo

    para vos? • ¿Python es demasiado lento para vos? • ¡Usá C inline! Roberto Alsina - ralsina@netmanagers.com.ar
  5. Primer módulo: inline >>> from instant import inline >>> add_func

    = inline("double add(double a, double b){ return a+b; }") >>> print add_func(2, 5.2) 7.2 Pasemos al código... Roberto Alsina - ralsina@netmanagers.com.ar
  6. Primer módulo: inline ¿Es más rápido? Depende... • example1.py •

    example2.py • example1.1.py Roberto Alsina - ralsina@netmanagers.com.ar
  7. Primer módulo: inline ¿No es molesto que no vemos cuanto

    falta mientras corre esos loops? Roberto Alsina - ralsina@netmanagers.com.ar
  8. Segundo módulo: progressbar from progressbar import ProgressBar for i in

    progress(range(100)): ... En acción: example3.py 60% |############################## | Roberto Alsina - ralsina@netmanagers.com.ar
  9. Tercer módulo: colorama • Colores en terminal de forma portable

    Demo en pantalla: example4.py Roberto Alsina - ralsina@netmanagers.com.ar
  10. Cuarto módulo: contract • Programación por contrato • precondiciones y

    postcondiciones • Usa los docstrings Roberto Alsina - ralsina@netmanagers.com.ar
  11. Cuarto módulo: contract pre: # must be a list isinstance(a,

    list) post[a]: # length of array is unchanged len(a) == len(__old__.a) # all elements given are still in the array forall(__old__.a, lambda e: __old__.a.count(e) == a.count(e)) # the array is sorted forall([a[i] >= a[i-1] for i in range(1, len(a))]) Roberto Alsina - ralsina@netmanagers.com.ar