[Python-Dev] Replacement for print in Python 3.0

Phillip J. Eby pje at telecommunity.com
Sat Sep 3 03:26:10 CEST 2005


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.

I don't much care for 'output' as the name, or 'end' as the end-of-line 
arguments, but for the most part I like the semantics; being able to drop 
the separator or change the end-of-line string make lots of use cases 
straightforward, and perhaps almost worth the parentheses.

My inclination would be to call the function 'print', though, and rename 
'end' to 'trailer'.



More information about the Python-Dev mailing list