Yes, but I think this is more readable and easier to deal with, for example when debugging, you can check which condition is the one that's failing, so I would advocate to leave it as is unless someone thinks this has to be changed.

On May 1, 2014, at 9:16 AM, Antonio Gonzalez <notifications@github.com> wrote:

> In biom/table.py:
> 
> >              return "Data elements are not the same"
> >  
> >          return "Tables appear equal"
> >  
> >      def __eq__(self, other):
> >          """Equality is determined by the data matrix, metadata, and IDs"""
> > -        if self.observation_ids != other.observation_ids:
> All these if can be a large single one, no? For example:
> if self.observation_ids != other.observation_ids or isinstance(other, self.__class__) is False or np.any(self.observation_ids != other.observation_ids) .... return False
> 
> —
> Reply to this email directly or view it on GitHub.
>