De los creadores de “Los titulares sensacionalistas que emocionaron a Spielberg” ([[0]]), esta charla tiene como objetivo que la audiencia se familiarize con el casi eternamente esquivo concepto de los “closures” (o “cierres”). Éste es un término con el que en ocasiones nos cruzamos en charlas o por Internet y ante el cual nuestro primer impulso es, aterrados, cerrar la pestaña de nuestro navegador. Pero, quizás muy a nuestro pesar, los “cierres” forman parte de nuestro día a día, y merece la pena aprender a desenvolvernos con ellos aunque sólo sea para —por fin— entender qué es exactamente ese error de UnboundLocalError
que nos hemos encontrado a veces… aunque la variable existe.
Para ello, seguiremos un itinerario que va progresivamente desde lo más fácil y familiar a lo más difícil y específico. Empezaremos por introducir algunos problemas sencillos que se suelen presentar en escenarios de programación comunes, entediendo cuál es su relación con ese arcano y misterioso ente que son los closures . Una vez hayamos comprendido su definición, pasaremos a dar algunos ejémplos prácticos que nos ayuden a asentar el concepto permanente e irreversiblemente en nuestras mentes. También explicaremos su relación con otros componentes del ecosistema Python, incluyendo decoradores y el módulo functools. Por último, mostraremos algunos ejemplos ignotos en los que los primigenios usaron closures para optimizar parte del código de la librería estándar.
Resumen esquemático de la charla:
Scope de las variables vars() / locals() / globals() Qué es una closure Motivación: por qué se usan Ejemplos practicos Decoradores Closures y functools Optimizacion de codigo
Somos:
Pablo Galindo: Soy Físico Teórico centrado en el estudio de los agujeros negros. Cuando no estoy buceando en el bajo nivel normalmente estoy aprendiendo inutilidades varias en Python o creándo un híbrido moralmente comprometido entre C y Python [[1]]. Conocido ( y aparentemente recordado [[2]] [[3]] [[4]] ) en la última PyconES por mi lighting talk sobre movidas extrañas en Python [[5]] y por una charla extraña mezclando optimización de código y agujeros negros [[6]]. La gente suele notar una gran cantidad de conocimiento arcano golpeando sus mentes tras la asistencia a estas charlas, la mayoría de las veces sin efectos secundarios añadidos.
Víctor Terrón:
Trabajo como Site Reliability Engineer en Google. Tengo una enemistad personal con los ponentes aburridos, así que me tomo muy en serio que mis charlas sean amenas y todo lo divertidas posibles — y por el momento, cruzo los dedos, parece que lo he logrado. Mis charlas en las PyConES se encuentran todos los años entre las que más reproducciones tienen en YouTube, si es que eso significa algo: