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

Reply via email to