Когда я читаю обсуждение рецепта 9.14 Python Cookbook, в нем говорится, что мне нужно преобразовать OrderedDict в экземпляр dict при создании объекта финального класса.Должен ли я это сделать или с помощью OrderedDict все в порядке?
Я пробовал это, передать OrderedDict в конструктор типов, он не вызывает никакого исключения
class OrderedMeta(type):
def __new__(cls, clsname, bases, attr_dict):
order = []
for name, value in attr_dict.items():
if isinstance(value, Typed):
value._name = name
order.append(name)
attr_dict['_order'] = order
return type.__new__(cls, clsname, bases, attr_dict)
@classmethod
def __prepare__(cls, clsname, bases):
return OrderedDict()
код из книги
class OrderedMeta(type):
def __new__(cls, clsname, bases, attr_dict):
d = dict(attr_dict)
order = []
for name, value in attr_dict.items():
if isinstance(value, Typed):
value._name = name
order.append(name)
d['_order'] = order
return type.__new__(cls, clsname, bases, d)
@classmethod
def __prepare__(cls, clsname, bases):
return OrderedDict()
введите описание изображения здесь