В первую очередь для удобства чтения мне хотелось бы что-то похожее на Nametuple, которое делает следующее:
Код: Выделить всё
from Camelot import namedgroup
Point = namedgroup('Point', ['x', 'y'])
p = Point(0, 0)
p.x = 10
>>> p
Point(x=10, y=0)
>>> p.x *= 10
Point(x=100, y=0)
Подробнее здесь: https://stackoverflow.com/questions/292 ... -in-python