I'm reviewing some old python code and came accross this 'pattern' frequently:
class Foo(object):
def __init__(self, other = None):
if other:
self.__dict__ = dict(other.__dict__)
Is this how a copy constructor is typically implemented in Python?