Мне нужно определить кучу гибких структур (объекты с простой коллекцией именованных полей, где вы можете добавлять новые поля позже, но мне не нужны методы или наследование или что-то в этом роде) в Python 2,7. (Контекст состоит в том, что я читаю материал из двоичных файлов с помощью struct.unpack_from, а затем добавляю дополнительные данные к результатам.)Конкретная гибкая структура определения
Класс отвечает требованиям, например.
class Thing:
def __init__(self, foo, bar):
self.foo = foo
self.bar = bar
Единственным недостатком является то, что каждое имя поля должно быть выписано три раза. collections.namedtuple дает более точный синтаксис определения, но вы не можете добавлять поля к результирующим объектам.
Есть ли способ получить гибкость класса, по крайней мере, из краткости коллекций. Namedtuple?
Есть вы считали, что используете dicts? –