Возможность реализовать несколько стратегий репрезентации?Python

Программы на Python
Anonymous
Возможность реализовать несколько стратегий репрезентации?

Сообщение Anonymous »

Есть ли в 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

Вернуться в «Python»