[Python-Dev] Order of operations
Jason Orendorff
jason.orendorff at gmail.com
Thu Aug 30 13:02:13 CEST 2007
On 8/29/07, Dirkjan Ochtman <dirkjan at ochtman.nl> wrote:
> Alexandre Vassalotti wrote:
> > C doesn't have an exponentiation operator. You use the pow() function, instead:
>
> Wouldn't it make more sense, then, to have unary +/- have higher
> precedence than the ** operator, so that -3**2 == 9?
No, that would have been really bad. Anyone who's had high school
algebra expects -x**2 to be -(x**2) and not (-x)**2.
I think the weirdness comes from parsing -a/b as (-a)/b rather than
-(a/b). It should be the latter, if compatibility with math notation
is more important than compatibility with C. Oh well. Maybe in
Python 4. :)
-j
More information about the Python-Dev
mailing list