Jeff Epler wrote:
Here's an example of attempting to deepcopy a class:
class X: pass
...
import copy X is copy.deepcopy(X)
Traceback (most recent call last): File "<stdin>", line 1, in ? File "/usr/lib/python2.2/copy.py", line 179, in deepcopy raise error, \ copy.Error: un-deep-copyable object of type <type 'class'>
Weird. I get (Python 2.3.4):
>>> class X: pass ... >>> import copy >>> X is copy.deepcopy(X) True
However:
>>> class Foo: ... def bar(self, x, y, z): pass ... >>> import copy >>> FooCopy = copy.deepcopy(Foo) >>> FooCopy <class __main__.Foo at 0x0142FE70> >>> Foo <class __main__.Foo at 0x0142FE70>
It appears it doesn't copy the class at all, you just get the same class back.
-- Hans Nowak http://zephyrfalcon.org/
-- http://mail.python.org/mailman/listinfo/python-list