[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