From: Samuele P. <pe...@in...> - 2002-03-13 02:16:34
|
From: chuck clark <cc...@zi...> > I thought the problem might be that between serializing/deserializing I > might somehow be getting a different instance of PyNone but this isn't > the case as evidenced below when I inspect the objects in the > interpreter after running th code above > >>> type(a.attr) > <jclass org.python.core.PyNone at 334527779> > >>> type(b.attr) > <jclass org.python.core.PyNone at 334527779> > No, you're right it is a *bug* and your hypothesis is right, only the above give you the "address" of the PyNone class. The following is more revealing: >>> execfile("test.py") Testing initial object... attr is None: 1 attr type is: org.python.core.PyNone attr == None: 1 Testing deserialized object... attr is None: 0 attr type is: org.python.core.PyNone attr == None: 0 >>> id(None) 6503157 >>> id(a.attr) 6503157 >>> id(b.attr) 8302342 It is a problem with singletons serialization, it has gone unnoticed until your report, it affects None, Ellipsis etc Thanks, Samuele Pedroni. |