使用type()在python中填充自定义类对象

时间:2019-06-18 20:31:59

标签: python python-2.7

背景

我有一个自定义类,其中1个特定属性依赖于另一个。使用python 2.7

我知道,这不是一个好的设计,但这就是目前的情况

class CrazyClass(object):
    def __init__():
        self.entity = None  # This will be None initialized. Later populated as a dict
        self._status = 'undefined'

    @property
    def status(self):
        return self._status

    @status.setter
    def status(self, value):
        self._status = value
        try:
            self.entity["Status"] = value
        except Exception:
            raise Exception("'entity' should be defined before specifying 'status'")

因此,基本上,如果您希望设置status,应该已经定义了entity

要求

我需要将类对象转储到文件中,然后再读取它并重新创建对象实例

我不是在使用pickle / unpickle,而是将属性和值作为键/值对转储到字典中。

相反,我正在尝试使用type(name, bases, dict)方法

困境

虽然它似乎可以正常工作,但我真的怀疑它是否始终可以正常工作?

type('CrazyClass',(object,),dumped_dict)

由于dict是无序的,是否有可能在status之前填充了entity而失败了?

是否有关于type如何在内部工作的见解?

0 个答案:

没有答案