copying classes?
Hans Nowak
hans at zephyrfalcon.org
Thu Dec 30 17:02:20 EST 2004
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/
More information about the Python-list
mailing list