issubclass(C, Mapping) not behaving as expected
anntzer.lee at gmail.com
anntzer.lee at gmail.com
Wed May 30 03:55:00 EDT 2012
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
More information about the Python-list
mailing list