Я хотел бы знать, как преобразовать объект python из словаря (используя python3, кстати). Я понимаю, что этот вопрос уже был задан (и получен ответ) ( здесь ). Однако в моем случае объект задается полностью в виде значений @property
, например:
class Test:
@property
def value(self):
return 1.0
Что касается преобразования в словарь: словарь __dict__
класса Test
пуст, и, следовательно, vars
функция не работает должным образом:
>>> vars(Test())
{}
Тем не менее, я могу использовать gettattr(Test(), 'value')
, чтобы получить 1.0
, так
значение присутствует.
Примечание: причина, по которой я придумываю этот явно надуманный пример, заключается в том, что я пытаюсь преобразовать цитон cdef class
(содержащий параметры) в словарь. Рекомендованный способ обертывания структур c свойствами с использованием Cython действительно основан на properties .