def __new__(cls, data=None, **argkw): self = DistanceConstructor.__new__(cls, **argkw) self.__dict__.update(argkw) if data is not None: return self.__call__(data) else: return self