def __str__(self) -> str:
    return '\n'.join((f'{k} = {v!r}' for (k, v) in inspect.getmembers(self) if ((not k.startswith('_')) and (not (k == 'getdoc')))))
def __str__(self) -> str:
    return '\n'.join((f'{k} = {v!r}' for (k, v) in inspect.getmembers(self) if ((not k.startswith('_')) and (not (k == 'getdoc')))))