I remember from painful experience that copy.copy() won't really copy __slots__ members. But I have trouble explaning why the following code works:
--- START--- #!/usr/bin/env python import copy class Foo (object): __slots__ = 'i' def __init__ (self): self.i = 10 class Bar (Foo): __slots__ = 'j' def __init__ (self): self.j = 20 f1 = Foo() f2 = copy.copy(f1) print f2.i # why does it work? b1 = Bar() b2 = copy.copy(b1) print b2.j # why does it work? print b2.i # doesn't work, as expected --- END--- Any insight is welcome! -- http://mail.python.org/mailman/listinfo/python-list