Pep 3105: the end of print?
Peter Mayne
Peter.Mayne at hp.com
Thu Feb 22 00:29:17 EST 2007
Steven D'Aprano wrote:
> On Tue, 20 Feb 2007 00:44:24 +0000, Peter mayne wrote:
>
>> Steven D'Aprano wrote:
>>> If Python 3 dropped the print
>>> statement and replaced it with official_print_function(), how would that
>>> help you in your goal to have a single code base that will run on both
>>> Python 2.3 and Python 3, while still using print?
>> Is there any reason why official_print_function isn't sys.stdout.write?
>
> Why would you want a convenience function like print to take one import,
> three look-ups and 16 characters instead of always available, one look-up
> and five characters?
Because it's compatible between Python 2.x and Python 3.x? :-)
Because without print as a keyword, I can say "print = sys.stdout.write"
and still have (some) convenience? (Albeit still one import and one
lookup, though given the probable time taken to do the I/O, why worry
about the lookup?) Or, if your editor has an abbreviation facility like
Eclipse, you can type sys.stdout.write with less than 5 keystrokes.
>> I can't remember the last time I used print in actual code (apart from
>> short-lived debugging lines), so I'm bewildered as to why print seems to
>> be so important.
>
> print is important for the convenience, for short-lived debugging, and for
> use in the interactive interpreter.
Why use print in the interactive interpreter? Just type the expression.
Hmm, I was expecting that that wouldn't always work, but:
>>> x=3
>>> if x==3: x
...
3
>>> for i in range(x):
... i
...
0
1
2
PJDM
More information about the Python-list
mailing list