code review
Steven D'Aprano
steve+usenet at pearwood.info
Sun Jul 1 02:27:37 EDT 2012
On Sun, 01 Jul 2012 14:23:36 +1000, Chris Angelico wrote:
> On Sun, Jul 1, 2012 at 2:17 PM, Steven D'Aprano
> <steve+comp.lang.python at pearwood.info> wrote:
>> Nonsense. Of course parens change the evaluation of the expression.
>> That's what parens are for!
>
> The whole point of my example was that it wouldn't.
Yes, you can find specially crafted examples where adding parentheses in
certain places, but not others, doesn't change the overall evaluation of
the expression. So what? IN GENERAL, adding parentheses changes the
evaluation of the expression -- that is what they are for.
Therefore, IN GENERAL you should expect that adding parentheses will
change the result, unless you carefully place them where you know that
they will have no effect.
Even in C, I can't just do this:
2+3*4
=> (2+3)*4
with the expectation that you can stick parentheses around the left-most
term without changing the value. The fact that you can do for some
expressions is irrelevant.
In general, if you don't know the semantics of an expression (including
the operator precedence), you cannot just assume that adding parens is
harmless.
--
Steven
More information about the Python-list
mailing list