[Python-Dev] Replacement for print in Python 3.0

Steven Bethard steven.bethard at gmail.com
Thu Sep 1 22:23:28 CEST 2005


[Guido van Rossum]
> And good riddance! The print statement harks back to ABC and even
> (unvisual) Basic. Out with it!

[Barry Warsaw]
> I have to strongly disagree. The print statement is simple, easy to
> understand, and easy to use.

[Paul Moore]
> I agree with Barry. In particular, the behaviour of adding spaces
> between items is something I find very useful, and it's missing from
> the functional forms.

While I agree that mostly the print statement is "simple, easy to
understand, and easy to use", I've seen the trailing-comma version
cause confusion for a lot of newbies. I wouldn't mind at all if the
trailing-comma version disappeared in Python 3.0 -- if you need this
kind of complicated output, you can always use sys.stdout.write and/or
string formatting.
The spaces-between-items point that Paul Moore makes is IMHO the best
argument against the proposed write*() functions. I think we *do*
need a statement or function of some sort that does the most basic
task: writing a line to sys.stdout that calls str() on each of the
elements and joins them with spaces. That is, I think we need to keep
*something* with functionality like:
 def XXX(*args):
 sys.stdout.write('%s\n' % ' '.join(str(a) for a in args))
Note that this would keep the Hello World example simple:
 XXX(greeting, name)
STeVe
-- 
You can wordify anything if you just verb it.
 --- Bucky Katt, Get Fuzzy


More information about the Python-Dev mailing list

AltStyle によって変換されたページ (->オリジナル) /