def clone(self, **extra): obj = Dummy() obj.__class__ = self.__class__ obj.polys = [x.clone() for x in self.polys] obj.start = self.start obj.size = self.size obj.orig = self.orig obj.__dict__.update(extra) return obj