Unknown | 27 Aug 2003 19:09

(unknown)

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.)


Gmane