def __repr__(self, depth=1):
    return_string = [str(self.value)]
for child in self.children:
    return_string.extend(['\n', ' ' * (depth + 1), child.__repr__(depth + 1)])
Как напечатать древовидную структуру данных, реализованную с помощью классов?