isinstance() and multiple inheritance/ctypes

Steven D'Aprano steve at pearwood.info
Thu Aug 27 23:02:39 EDT 2015


On Fri, 28 Aug 2015 12:33 am, Chris Angelico wrote:

> On Thu, Aug 27, 2015 at 10:59 PM, Steven D'Aprano <steve at pearwood.info>
> wrote:
>> On Thu, 27 Aug 2015 09:14 am, Chris Angelico wrote:
>>
>>> On Thu, Aug 27, 2015 at 9:12 AM, Chris Angelico <rosuav at gmail.com>
>>> wrote:
>>>> Or is there a magic __isinstance__
>>>
>>> Argh, keyed the wrong thing and sent the post prematurely. Meant to say:
>>>
>>> Or is there a magic __instancecheck__ method somewhere that I'm not
>>> aware of?
>>
>> Yes -- see Terry Reedy's post.
>>
>> isinstance(inst, klass) ends up calling
>>
>> type(klass).__instancecheck__(klass, inst)
> 
> I'm aware that it _can_ exist, but I was asking if one _did_ exist.


Er, I'm still not getting you. Of course one exists, otherwise isinstance
would end up raising an exception. 

py> type.__instancecheck__
<method '__instancecheck__' of 'type' objects>

What am I missing?



-- 
Steven




More information about the Python-list mailing list