Detalles del post: El yield de la muerte

08.11.04

zing
Permalink Por: zing a las 17:32:36, Categorías: Descubrimientos, Informática profunda, Berrinches, 256 palabras  

El yield de la muerte

Me parece extremadamente sorprendente, y más aún viniendo de donde vienen, el comportamiento de los generadores de Python:

        def fib():
            a, b = 0, 1
            while 1:
                yield b
                a, b = b, a+b

Lo que hace eso de ahí arriba NO es definir una función, sino un generador. Es decir, que al hacer:

        cosa = fib()

No se quedará en un bucle infinito, sino que en cosa quedará un iterador, que se puede recorrer con valor = cosa.next() y eso. Cuando lo leí estaba convencido de que el cosa = fib() se quedaría en un bucle infinito, pero no.

Toda la confusión viene por usar la palabra clave def también para los iteradores, simplemente distinguiendo a éstos de las funciones, por el hecho de que los primeros tienen la palabra («mágica», para mi gusto) yield dentro.

Incluso parte de la comunidad Python (lógico, por otra parte, no van a estar todos de acuerdo) está de acuerdo conmigo y lo expresa muy bien en el texto del propio PEP, en una parte donde hablan de añadir la palabra reservada gen, por ejemplo, en vez de usar def (ver abajo, en el apartado «BDFL Pronouncements»):

In this respect they're radically different from non-generator functions, acting more like a constructor than a function, so reusing "def" is at best confusing. A "yield" statement buried in the body is not enough warning that the semantics are so different.

Vamos, que Setepo lo explicó muy bien en
http://www.hispalinux.es/~setepo/blog/tonterias/yieldunico

SCNR :-P

ZingZang.org

Las historias de Zing y Zang.

La canción que le rebota a Zing en la cabeza...

I wanna dance with somebody

La famosa (y pegadiza) canción de Whitney Houston. Definitivamente tengo que dejar de oír M80, me está afectando gravemente... :-P

Ver todas...

Libros, películas, ...

El maquinista

Una película que tenía desde hace meses, pero que todavía no había visto (tengo muchas más desde hace más tiempo, a mi pila de películas pendientes le cuesta bajar). Es una película sobre una persona que trabaja con máquinas, estilo Dancer in the Dark, que no ha dormido en un año. Entre no dormir y el estrés de trabajar con las máquinas, empieza a ver cosas raras...

Una película genial. No quiero desvelar nada, así que no cuento nada del argumento, pero está muy bien. Es una película tensa, pero no es de miedo ni es especialmente desagrable (excepto por ver a Christian Bale tan exageradamente delgado). Hay muchos puntos recurrentes que le dan un aspecto bastante «circular», y las interpretaciones de Christian Bale y especialmente de John Sharian son geniales. Muy recomendable, no se la pierdan.

Cándido o el optimismo

Un libro de Voltaire que, aunque me habían regalado hace tiempo, entre la montaña de libros que tenía y un pequeño despiste, me lo vine a leer hace poco.

Trata de la forma de enfrentarse a la vida que tienen las personas, y de aferrarse a las creencias de uno mismo. Como se intuye desde el principio, el libro cuenta las desgracias (una tras otra) que le ocurren a Cándido y sus compañeros. A pesar de todas las peripecias que sufren, siempre consiguen salir adelante de alguna forma, y se siguen aferrando al principio de «vivimos en el mejor de los mundos posibles» para continuar su camino.

Quizás un poco repetitivo, pero interesante. Recomendado.

Deseando amar

Una película de Kar Wai Wong, el director de 2046. En realidad, tiene elementos comunes con esa película, hasta el punto de que me quedo dudando de si es una especie de segunda parte. Trata de dos personas que se mudan con sus respectivas parejas a dos pisos contiguos del mismo edificio.

Al igual que «2046», ésta me dejó más bien frío. No le hagan ningún caso a la portada ni al subtítulo: «Feel the heat, keep the feeling burning, let the sensation explode». De eso nada (para mí, al menos). Ni sensaciones, ni pasión, ni nada que se le parezca. Es una película más bien lenta, que me dejó cabos sueltos y no me aportó gran cosa. Quizás fue en gran parte por las falsas expectativas, pero la portada y el título la verdad es que no ayudan mucho. Supongo que si les gusta el cine de este director, les gustará la película. Si no, no sé si me arriesgaría ;-)

Ver todos...

Buscar

Enero 2006
Lun Mar Mie Jue Vie Sab Dom
<<  <   >  >>
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

Sindicar esta bitácora XML

Todo, en Atom (recomendado)

Sólo las entradas de este blog: What is RSS?

powered by
b2evolution