> if (<condition1>) and (<condition2>) and (<condition3>): > do_something() > > Is there a guarantee that Python will evaluate those conditions in order (1, > 2, 3)? I know I can write that as a nested if, and avoid the problem > altogether, but now I'm curious about this ;).
Yes, Python does short-circuit evaluation, from left-to-right http://docs.python.org/tut/node7.html#SECTION007700000000000000000 That means that if <condition1> returns false, condition[2|3] will not be evaluated (and similarly, if condition2 returns false, condition3 won't be evaluated). -tkc -- http://mail.python.org/mailman/listinfo/python-list