"print" as function not statement

Aahz aahz at pythoncraft.com
Wed Mar 10 11:43:22 CET 2004

In article <mailman.107.1078707454.19534.python-list at python.org>,
Paul Prescod  <paul at prescod.net> wrote:
>This is just a trial balloon. It isn't even in proper PEP format yet. 
>Don't take it too personally!

Your arguments are persuasive, but I disagree with your conclusions.
Given that almost every programming language has something like "print"
built into it, we can't afford to drop that name.  I think you need to
find a path that permits mutation from a reserved word.

The other issue is that you're wrong to make print() a function.
Instead, it should be a callable object.  That way, the default print
object has state:

    print(a, b, c)
    print(a, b, c)
    print(x, y, z)
    print("The value is: ", 3)

>	Debug-useful return value
>		As a convenience, if the show function is passed a
>		single object to show, it returns that object. If
>		it is passed more then one, it returns them as a
>		tuple. This can be very convenient in debugging
>		contexts. 

I'm in agreement with the person who said that this would be too
confusing in interactive mode.  Then again, if print is an object, it'd
be easy to set this behavior, too.
Aahz (aahz at pythoncraft.com)           <*>         http://www.pythoncraft.com/

"Do not taunt happy fun for loops. Do not change lists you are looping over."
--Remco Gerlich, comp.lang.python

More information about the Python-list mailing list