[Python-Dev] Breaking off Enhanced Iterators PEP from PEP 340

Jim Jewett jimjjewett at gmail.com
Fri May 6 22:17:55 CEST 2005


Enhanced Iterators: 

...
> When the *initial* call to __next__() receives an argument 
> that is not None, TypeError is raised; this is likely caused
> by some logic error. 

This made sense when the (Block) Iterators were Resources,
and the first __next__() was just to trigger the setup.

It makes less sense for general iterators.

It is true that the first call in a generic for-loop couldn't 
pass a value (as it isn't continued), but I don't see anything
wrong with explicit calls to __next__.

Example:  An agent which responds to the environment;
the agent can execute multi-stage plans, or change its mind 
part way through.  

   action = scheduler.__next__(current_sensory_input)

-jJ


More information about the Python-Dev mailing list