generator slides review

Terry Reedy tjreedy at udel.edu
Sat Feb 1 20:08:16 EST 2014


On 2/1/2014 9:12 AM, andrea crotti wrote:
> I'm giving a talk tomorrow @Fosdem about generators/iterators/iterables..
>
> The slides are here (forgive the strange Chinese characters):
> https://dl.dropboxusercontent.com/u/3183120/talks/generators/index.html#3
>
> and the code I'm using is:
> https://github.com/AndreaCrotti/generators/blob/master/code/generators.py
> and the tests:
> https://github.com/AndreaCrotti/generators/blob/master/code/test_generators.py
>
> If anyone has any feedback or want to point out I'm saying something
> stupid I'd love to hear it before tomorrow (or also later I might give
> this talk again).

Comments:

The use is assert in the first slide seem bad in a couple of different 
respects.

The use of 'gen_even' before it is defined.

A generator expression evaluates (better than 'yields') to a generator, 
not just an iterator.

The definition of 'generator' copies the wrong and confused glossary 
entry. Generator functions return generators, which are iterators with 
extra behavior.

I would leave out For loop(2). The old pseudo-getitem iterator protocol 
is seldom explicitly used any more, in the say you showed.

In 'Even numbers', I have no idea what the complication of next_even() 
is about.

'Lazyness drawbacks' overflow_list is bizarre and useless.  overflow_gen 
is bizarre and buggy. If you are intentionally writing buggy code to 
make a point, label it as such on the slide.

Iterators just produce values. Generators can consume as well as produce 
values, which is why they can act as both iterators and coroutines.

@monocle
-- 
Terry Jan Reedy




More information about the Python-list mailing list