Hi, The problem is a side effect of the fact that old-style classes are implemented on top of new-style meta-classes. Consequently although C is the "class" of C() it is not its "type". >>> type(C()) <type 'instance'> >>> type(C()).__mro__ (<type 'instance'>, <type 'object'>) therefore >>> issubclass(type(C()), object) True which implies >>> isinstance(C(),object) True Cheers, Mark. On 21/10/14 17:43, Andreas Maier wrote: > > 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 at 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 > > _______________________________________________ > Python-Dev mailing list > Python-Dev at python.org > https://mail.python.org/mailman/listinfo/python-dev > Unsubscribe: https://mail.python.org/mailman/options/python-dev/mark%40hotpy.org >
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4