On Jul 4, 2:03 am, upwestdon <upwest...@gmail.com> wrote: > On Jul 2, 1:23 pm, Simon Forman <sajmik...@gmail.com> 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 > > 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.) > > How about just: > > if not (self.higher and self.lower): > return self.higher or self.lower
That would work too in this case, both higher and lower are expected to be either None or an object (that doesn't override the default all- objects-are-true rule.) Thanks, ~Simon -- http://mail.python.org/mailman/listinfo/python-list