from collections import *
class C(object):
    def __iter__(self): pass
    def __contains__(self, i): pass
    def __len__(self): pass
    def __getitem__(self, i): pass
issubclass(C, Mapping) => False
[issubclass(C, cls) for cls in Mapping.__mro__] => [False, True, True, True, 
True]
i.e. C does implement Sized, Iterable and Container.

I would have expected that just as issubclass(C, Sized) checks for the presence 
of a "__len__" method, issubclass(C, Mapping) would check for the presence of 
the three methods required by each immediate superclass?

Antony
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to