exception message output problem
Mel
mwilson at the-wire.com
Sat Dec 22 09:36:13 EST 2007
Lie wrote:
> PPS: Actually, what makes a tuple is both the parens and the comma,
> with comma as the minimum signifier, inspect this: "str(a) +
> str((a,b,c))", you have to use the double parens, one to make the
> tuple and the other as part of the str. This harmless little case
> gives error if done without the double parens, but what would happen
> if we exchange the str into a function that accepts one argument and
> several optional arguments (or better yet, one argument and an
> optional * argument)?
I think the effect there is operator precedence. In
str(a,b,c)
the function-calling operator () takes over, and the commas are
considered as argument separators. In
str ((a,b,c))
the inner parens present a single tuple-expression to the
function-calling operator.
Just like a+b/c as against (a+b)/c but with esoteric overloading
of ( ) and , .
Mel.
More information about the Python-list
mailing list