question of style
Scott David Daniels
Scott.Daniels at Acm.Org
Thu Jul 2 15:57:57 EDT 2009
Duncan Booth wrote:
> Simon Forman <sajmikins at gmail.com> wrote:
>> ...
>> if self.higher is self.lower is None: return
>> ...
> As a matter of style however I wouldn't use the shorthand to run two 'is'
> comparisons together, I'd write that out in full if it was actually needed
> here.
Speaking only to the style issue, when I've wanted to do something like
that, I find:
if self.higher is None is self.lower:
...
more readable, by making clear they are both being compared to a
constant, rather than compared to each other.
More often, I've used code like:
if <expr1> is not None is not <expr2>:
...
since I am usually working on non-defaulting cases in the body.
I find the form above simpler to read than:
if <expr1> is not None and <expr2> is not None:
...
I do draw the line at two, though, and with three or more I'll
paren-up a list of parallel comparisons:
if (<expr1> is not None
and <expr2> is not None
and <expr3> is not None):
...
--Scott David Daniels
Scott.Daniels at Acm.Org
More information about the Python-list
mailing list