[Python-bugs-list] isinstance(obj, extensionclass) should work? (PR#208)
claudius@accessoft.com
claudius@accessoft.com
Thu, 17 Feb 2000 17:23:24 -0500 (EST)
Full_Name: Chris Knight
Version: 1.5.2
OS: Solaris 2.6
Submission from: corum.arc.nasa.gov (128.102.104.42)
From my Python interpreter (using ZODB's Persistence extension class as an
example):
Python 1.5.2 (#1, Feb 4 2000, 16:01:00) [GCC 2.95.1 19990816 (release)] on
sunos5
Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam
>>> import Persistence.Persistent
Traceback (innermost last):
File "<stdin>", line 1, in ?
ImportError: No module named Persistent
>>> import Persistence
>>> import ZODB
>>> class foo(Persistence.Persistent):
... def __init__(self): print 'foo'
...
>>> a = foo()
foo
>>> a.__class__
<extension class __main__.foo at 1046c8>
>>> a.__class__ == foo
1
>>> foo
<extension class __main__.foo at 1046c8>
>>> isinstance(a, foo)
Traceback (innermost last):
File "<stdin>", line 1, in ?
TypeError: second argument must be a class
Obviously, if obj.__class__ == extension class, shouldn't isinstance(obj,
extension class) work fine? (Otherwise, changing a regular class into an
extension class would break code that uses isinstance.)