Again: Please hear my plea: print without softspace
dmq at gain.com
Fri Mar 5 20:30:35 CET 2004
On Fri, 05 Mar 2004 12:35:01 GMT, Dang Griffith
<noemail at noemail4u.com> wrote:
>In any case, I think the one-liner posted satisfies nearly all of the
>def pr(*args): sys.stdout.write(''.join([str(i) for i in args]))
>Where it fails is the difference between a function and a statement.
>The OP said [one of] the advantages of a statement is that there is no
>need for parenthesis. This is the reason I brought up the point that
>a function and a statement are semantically different, and why none of
>the function-based suggestions will satisfy the OP's plea.
The inconvenience of typing a single set of parens seems trivial to me
in comparison to the extra burden of an additional syntax.
In reading someone else's code, I rely on the *syntactic* difference
between functions and statements to convey possibly different
*symantics*. If it says
I know exactly what that statement means. If it says
I know to look for a definition of 'prn'. Note that in this case,
there are *two* syntactic differences, the parens and the keyword.
The keyword difference is essential, because you *can* say
and still be using the built-in print statement (although with a
slightly different result.)
So, do what you like with the parens, but leave the keywords alone.
Beyond this one statement, the idea might work as a general
enhancement. If the first token in a statement is not a keyword, and
the second is not an assignment operator, then look for a function
definition, and don't require parens. This would allow you to say
'printF a,b,c' or 'importR module'
and have these functions/statements do whatever you want.
At this point my vote for adding more syntax to Python would be -1. I
prefer the added readability of a more consistent use of parens over
the convenience of leaving them off. I see the parens as having much
the same role as the unnecessary ':' at the end of some statements.
It clues beginners as to the structure of a statement, and it enhances
readability for experts.
Now if we want to talk about getting rid of 'self.' ... :>)
More information about the Python-list