
Hi. Today, I ran across this, in Python 2.7.6:
class C:
... pass ...
issubclass(C,object)
False
isinstance(C(),object)
True <-- ???
The description of isinstance() in Python 2.7 does not reveal this result (to my reading).
From a duck-typing perspective, one would also not guess that an instance
of C would be considered an instance of object:
dir(C())
['__doc__', '__module__']
dir(object())
['__class__', '__delattr__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__new__', '__reduce__ ', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__']
-> What is the motivation for isinstance(C,object) to return True in Python 2.7?
Andy
Andreas Maier IBM Senior Technical Staff Member, Systems Management Architecture & Design IBM Research & Development Laboratory Boeblingen, Germany maiera@de.ibm.com, +49-7031-16-3654 ________________________________________________________________________ IBM Deutschland Research & Development GmbH Vorsitzende des Aufsichtsrats: Martina Koederitz Geschaeftsfuehrung: Dirk Wittkopp Sitz der Gesellschaft: Boeblingen Registergericht: Amtsgericht Stuttgart, HRB 243294