Contribute Media
A thank you to everyone who has made this possible: Read More

Kung Fu al amanecer con itertools

Description

Víctor Terrón - Kung Fu al amanecer con itertools [EuroPython 2016] [19 July 2016] [Bilbao, Euskadi, Spain] (https://ep2016.europython.eu//conference/talks/kung-fu-al-amanecer-con-itertools)

El módulo itertools es una de las piedras angulares de la programación avanzada en Python. Esta charla proporciona consejos prácticos del álgebra de iteradores que pueden aplicarse de forma inmediata. Descubrir el módulo itertools supone arrancar el velo de nuestros ojos, y una vez usadas funciones como repeat(), takewhile(), dropwhile() o product() no hay marcha atrás — es imposible volver al mundo de los meros mortales donde las soluciones son más complejas y necesitan más memoria.


El módulo itertools es una de las piedras angulares de la programación avanzada en Python. Parte de la biblioteca estándar, nos ofrece un álgebra de iteradores que permite encadenar abstracciones de forma elegante, haciendo posibles soluciones sencillas a la par que más eficientes en su consumo de memoria.

El objetivo de esta charla es el de, ante todo, proporcionar consejos y lecciones claras que puedan aplicarse de forma inmediata. Ilustrándolo con numerosos ejemplos, los asistentes abandonarán la charla habiendo asimilado como mínimo varios conceptos que mejorarán indiscutible e irremediablemente su código. El énfasis se hará en mostrar casos específicos en los que una solución tradicional puede ser mejorada una y otra vez con funciones del módulo itertools.

Supongamos, por ejemplo, que queremos alternar indefinidamente entre dos valores: -1 y 1. El recién iniciado utilizaría una variable cuyo valor iría modificando a cada paso y el usuario medio quizás optaría por un generador infinito. Ambas soluciones dignas y honorables, pero que palidecen ante la maestría del artista marcial que que tan sólo necesita itertools.cycle(). Porque el módulo itertools es así: una vez caído el velo de nuestros ojos y descubiertas funciones como repeat(), takewhile(), dropwhile() o product(), no hay marcha atrás. En esta charla vamos a aprender a reconocer cuándo pueden ser usadas, proporcionándonos en una única línea lo que para los meros mortales supone mucho más trabajo.

Improve this page