Python avanzado

Autor:Alberto Bertogli (albertito@gmail.com)
Fecha:Sábado 7/Octubre/2006

El plan!

¿Como?

Operadores básicos I

Operadores básicos II

Listas por comprensión

Introspección I: Mirándose el ombligo

Introspección II: Un montón de espejos

Métodos especiales I

Métodos especiales II

Emulando funciones

  • La invocación es también un método!
  • f(x) == f.__call__(x)
  • Nos permite armar objetos que se puedan llamar como una función.
  • Podemos armar "wrappers" a funciones.
  • Ejemplo interesante: aplicación parcial (functools.partial)

Métodos especiales III (a)

Acceso a atributos I

  • El acceso a los atributos también se hace a través de métodos.
  • El camino es un poco mas largo que con la ejecución de funciones, y no es el mismo para el get, set y delete.
  • Dibujin de get en la otra filmina.
  • Símil para set y del.

Métodos especiales III (b)

Acceso a atributos II

attraccess.png

Métodos especiales III (c)

Acceso a atributos III

  • No es tan engorroso como parece, y solo lo usamos para cosas locas.

  • Ejemplos built-in:
    • Descriptors con property().
    • staticmethod y classmethod (mas adelante).
  • Ejemplos:
    • Loguear todos los accesos a los métodos para debugging.
    • Restringir acceso a instancias de ciertas clases.
    • RPC transparente.

Interfaz de iteración

Generators I

Decorators I: ¿Que son?

Decorators II: Belleza

Decorators III: Aplicación

with statement

Metaclases

Chau

¡Fin!

¿Que sigue? ¡La noche de los museos!