Raymond Hettinger schrieb: > [Greg Ewing] >> I've discovered something slightly misleading in the docs >> for PyObject_IsInstance: >> >> When testing if B is a subclass of A, if A is B, PyObject_IsSubclass >> returns true. If A and B are different objects, B's __bases__ >> attribute is searched... >> >> This suggests that issubclass(A, A) will always be true, >> regardless of what attributes A has. However, this turns >> out not to be so -- A must also have a __bases__ attribute, >> otherwise it's rejected as not being sufficiently class-like. > > This smells like a bug that brings issubclass() out of sync with isinstance(). > Perhaps issubclass() should do what the docs say and start by > testing whether A and B are the same object.
Since I cannot imagine a scenario where you would want to have non-classes as the arguments of issubclass(), making sure that both *are* classes sounds like a good idea to prevent bugs. Georg -- Thus spake the Lord: Thou shalt indent with four spaces. No more, no less. Four shall be the number of spaces thou shalt indent, and the number of thy indenting shall be four. Eight shalt thou not indent, nor either indent thou two, excepting that thou then proceed to four. Tabs are right out. _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com