Proposed new PEP: print to expand generators

Steven Bethard steven.bethard at gmail.com
Sun Jun 4 04:42:25 CEST 2006


James J. Besemer wrote:
> I propose that we extend the semantics of "print" such that if the 
> object to be printed is a generator then print would iterate over the 
> resulting sequence of sub-objects and recursively print each of the 
> items in order.

I don't feel like searching for the specific python-dev threads right 
now, but something like this has been suggested before (I think with a 
"%i" formatting code), and Guido felt strongly that the addition or 
removal of a simple print statement shouldn't change the behavior of the 
surrounding code.

Consider code like::

     items = get_generator_or_None()
     for item in items:
         do_something(item)

Now let's say I insert a debugging line like::

     items = get_generator_or_None()
     print "make sure this isn't None:", items
     for item in items:
         do_something(item)

My debugging line now just broke the rest of my code.  That's not good.


The other reason I don't think this PEP should go forward (at least as 
it is) is that Python 3000 is already going to turn the print statement 
into a function (though the exact details of that function have not been 
hashed out yet).  So adding extra cruft to the print statement is kind 
of wasted effort.

STeVe



More information about the Python-list mailing list