Emile van Sebille wrote:
On 7/16/2009 2:06 AM Jean-Michel Pichavant said...
Ok then, why "or" does not return True, if the first element is
considered True ? Why returning the element itself. Any reason for
that ? Because it's confusing, maybe people used to that logic find
it obvious, but I really don't.
For example, I sometimes use it to set defaults:
daysInAdvance = int(inputVar) or 25
Emile
Sure this looks like an elegant way to set default values and I will use
this form , but I'm not sure this justifies by itself the trickery.
Python has extended the algebra definition of "or" and "and" top any
type, but it is so unintuitive (I'm no LISP programmer). I think than
using the short-circuiting mechanism of bool operators along with the
python tricks is just error prone and may result in bug difficult to
spot, unless you are very aware of all python boolean mechanisms.
JM
--
http://mail.python.org/mailman/listinfo/python-list