On Mon, 01 Apr 2013 00:39:56 +0000, Alex wrote: > Chris Angelico wrote: > > >> Opening paragraph, "... exponentiation, which groups from right to >> left". It follows the obvious expectation from mathematics. (The OP is >> using Python 2, but the same applies.) > > Thanks. I did miss that parenthetical comment in para 6.15, and that > would have been the correct place to look, since it appears that > operators are not parts of expressions, but rather separate them. Is > that the "obvious expectation from mathematics," though? Given that > > 3 > 5 > 4 > > (i.e.: 4**5**3) is transitive, I would have expected Python to exhibit > more consistency with the other operators. I guess that is one of the > foolish consistencies that comprise the hobgoblins of my little mind, > though.
I don't think you mean "transitive" here. Transitivity refers to relations, not arbitrary operators. If ≎ is some relation, then it is transitive if and only if: x ≎ y and y ≎ z implies that x ≎ y. http://en.wikipedia.org/wiki/Transitive_relation Concrete examples of transitive relations: greater than, equal to, less than and equal to. On the other hand, "unequal to" is not a transitive relation. Nor is "approximately equal to". Suppose we say that two values are approximately equal if their difference is less than 0.5: 2.1 ≈ 2.4 and 2.4 ≈ 2.7 but 2.1 ≉ 2.7 Exponentiation is not commutative: 2**3 != 3**2 nor is it associative: 2**(3**2) != (2**3)**2 so I'm not really sure what you are trying to say here. -- Steven -- http://mail.python.org/mailman/listinfo/python-list