Почему Python изначально не поддерживает тип записи? Это вопрос наличия изменяемой версии namedtuple.
Я мог бы использовать namedtuple._replace
. Но мне нужно, чтобы эти записи были в коллекции, а поскольку namedtuple._replace
создает другой экземпляр, мне также нужно изменить коллекцию, которая быстро становится беспорядочной.
Предыстория: у меня есть устройство, атрибуты которого мне нужно получить, опрашивая его по TCP/IP. то есть его представление является изменяемым объектом.
Изменить: у меня есть набор устройств, для которых мне нужно опросить.
Изменить: мне нужно перебрать объект, отображающий его атрибуты, с помощью PyQt. Я знаю, что могу добавить специальные методы, такие как __getitem__
и __iter__
, но я хочу знать, есть ли более простой способ.
Редактировать: я бы предпочел тип, атрибуты которого фиксированы (точно так же, как они есть в моем устройстве), но могут изменяться.
__dict__
, который является словарем. Вы можете повторить это. Посмотрите на ответ Кэмерона и комментарий Криса Лутца. - person dappawit   schedule 08.03.2011