[Python-Dev] Replacement for print in Python 3.0

Paolino paolo_veronelli at libero.it
Sat Sep 3 13:31:26 CEST 2005

Martin Blais wrote:
> On 9/2/05, Phillip J. Eby <pje at telecommunity.com> wrote:
>>At 11:02 AM 9/3/2005 +1000, Nick Coghlan wrote:
>>>Printing the items in a sequence also becomes straightforward:
>>>print " ".join(map(str, range(10))) => output(*range(10))
>>>Playing well with generator expressions comes for free, too:
>>>print " ".join(str(x*x) for x in range(10))
>>>     => output(*(x*x for x in range(10)))
>>An implementation issue: that generator expression will get expanded into a
>>tuple, so you shouldn't use that for outputting large sequences.
> Then how about::
>   output(*(x*x for x in range(10)), iter=1)
Illegal in python2.4.(Wrongly ?) And makes the star solution half unuseful.

>>> def f(*args,**kwargs):
...   pass
>>> f(*(1,2,3),iter=True)
   File "<stdin>", line 1

Leaving out what I just asserted in the previous thread :( I suppose you
meant output((x*x for x in range(10)), iter=1)

f(1,[2,3],(_ for _ in (4,5)),iter=True)

Regards Paolino

More information about the Python-Dev mailing list