Another reason is that it treats arguments separated by commas
differently than a single argument consisting of a tuple:
print 'x =', x
might print
x = 3.14
while
t = 'x =', x
print t
would print
('x =', 3.14)
(This has to do with the function argument discussion, by the way.)
The third reason has to do with the final linefeed written by print:
again, for simple programs, it's desirable that the simplest form of
print statement prints a complete line; but there also must be a way
to print partial lines. Using special syntax (a trailing comma) to
specify the alternate behavior seemed preferable over having two
functions like Pascal's write and writeln (especially since it would
have meant two reserved words given the choice for non-function
syntax).
Writing it down makes it all sound like feeble excuses for a real
solution; but everything else I could think of had other
disadvantages. Perhaps printing is one of these things that are
important enough to warrant more than one way to do things, even in
Python...
--Guido van Rossum, CWI, Amsterdam <guido@cwi.nl>
"*Nobody* expects the Spanish Inquisition"