Есть ли в Python способ реализовать несколько стратегий представления в пользовательских классах, обеспечить разные стили их отображения и все это рекурсивно для произвольных структур данных, чтобы вложенные объекты были представлены с использованием стратегии родительского вызова , если доступно? Вот так...
class SomeClass:
def __init__(self, objects):
self._objects = objects
def __repr__(self):
return f"Recursive default repr: {self._objects}"
def __alternate_repr__(self):
return f"Recursive alternate repr: {self._objects}"
a = SomeClass(["list", "of", "values"])
b = SomeClass(dict(nested_class=a))
c = SomeClass([b, 1, "..."])
repr(c) # c,b,a shown using __repr__()
alternate_repr(c) # c,b,a shown using __alternate_repr__()
Подробнее здесь: https://stackoverflow.com/questions/787 ... strategies