[Python-Dev] PyObject_GenericGetIter()

Guido van Rossum guido@python.org
Mon, 17 Mar 2003 10:22:00 -0500


> > Where was this agreed upon?  
> 
> Perhaps I overstepped.  It's been on my todo list for a 
> couple of months and didn't seem to be even slightly
> controversial.
> 
> 
> > __iter__ returning self doesn't sound very generic to me, 
> > so at the very least the name should be changed IMO.  
> 
> Thomas suggested PyObject_GetSelfIter, PyObject_GenericSelfIter,
> or PyObject_SelfIter.  Consistent with the other tp_slot fillers, I 
> suggest PyObject_GenericIter. 

The "generic" functions aren't just slot fillers, they do a lot of
work that is typical for most types.

The self-iter, OTOH, doesn't do what most types' iterators need -- it
only does what most *iterators* need for their own iterator.  So a
name with 'Self' in it is  more appropriate.

I'd pick PyObject_SelfIter.

> > Also, adding a standard API for a helper function this
> > trivial doesn't really make sense to me.
> 
> This identical code was duplicated in a dozen different
> modules in the same context.  It comes up when writing
> most iterators and needed to be factored out.

"Need" is a strong word.  It's okay to add this little convenience,
but please give it a proper name.  Maybe some day we'll have a
true generic iterator helper too.

--Guido van Rossum (home page: http://www.python.org/~guido/)