Question about isinstance()
Mr.Rech
andrea.riciputi at gmail.com
Thu Jan 26 12:46:42 EST 2006
Hi all,
I've read some thread about isinstance(), why it is considered harmful
and how you can achieve the same results using a coding style that
doesn't break polymorphism etc... Since I'm trying to improve my Python
knowledge, and I'm going to design a class hierarchy from scratch, I'd
like to have some feedback about this from those of you much more
experienced than me in OOP.
Suppose I'm writing a base class with an __eq__ special methods, using
isinstance() I would have wrote:
class foo(object):
...
def __eq__(self, other):
return isinstance(other, type(self)) and self.an_attribute ==
other.an__attribute
Now, avoiding isinstace() I've written the following code:
class foo(object):
...
def __eq__(self, other):
try:
return self.an_attribute == other.an_attribute
except AttributeError:
return False
Any better way to write this method? Any suggestion?
More information about the Python-list
mailing list