something wrong with isinstance

Peter Otten __peter__ at
Fri Feb 13 05:43:03 EST 2009

Gabriel Genellina wrote:

> En Fri, 13 Feb 2009 08:07:58 -0200, Carl Banks <pavlovevidence at>
> escribió:
>> Well, the OP said he was using Python 3.0, where all classes are new-
>> style classes.
>> But that brings up another very slight possibility, though not a very
>> likely one in this case: the behavior of isinstance can be
>> customized.  It can happen unbeknownst to a user who subclasses a
>> class that does that.
> Really? I didn't know that -- how do you do that?
>>> class Type(type):
...     def __instancecheck__(self, other): return True
>>> class A(metaclass=Type): pass
>>> class B: pass
>>> isinstance(B(), A)

See also

I doubt that this is the source of the OP's troubles, though.


More information about the Python-list mailing list