"""Create new instance copies with cooperative ``super()`` calls.""" | |
__all__ = ['CopyBase'] | |
class CopyBase: | |
"""Create new instance copies with cooperative ``super()`` calls.""" | |
def copy(self): | |
"""Return a copied instance of the object. | |
Returns: | |
An independent copy of the current object. | |
""" | |
kwargs = self._copy_kwargs() | |
return self.__class__(**kwargs) | |
def _copy_kwargs(self, **kwargs): | |
"""Return the kwargs to create a copy of the instance.""" | |
return kwargs | |