Simon Forman wrote:
Hey I was hoping to get your opinions on a sort of minor stylistic
point.
These two snippets of code are functionally identical. Which would you
use and why?
The first one is easier [for me anyway] to read and understand, but
Easier for you but not for those who are familiar with the standard way of python coding. (by standard I don't mean the "only Godly way of coding", there's room for custom rules)
But I think most of the people will write:
if self.higher is None:
   return self.lower
if self.lower is None:
   return self.higher
# here neither are None

slightly less efficient, while the second is [marginally] harder to
follow but more efficient.

## First snippet

if self.higher is self.lower is None: return
if self.lower is None: return self.higher
if self.higher is None: return self.lower

## Second snippet

if self.higher is None:
    if self.lower is None:
        return
    return self.lower
if self.lower is None:
    return self.higher

What do you think?

(One minor point: in the first snippet, the "is None" in the first
line is superfluous in the context in which it will be used, the only
time "self.lower is self.higher" will be true is when they are both
None.)

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to