我有一个应用程序,我想让一个类的第一个实例可供该类的所有后续实例访问。我实现了这样的:
class Basic(object):
def __init__(self, initial=False):
super(Basic, self).__init__()
if initial:
Basic.initial = self
它工作得很好,但是当我尝试使用pickle
or对其进行序列化时dill
,动态创建的类属性Basic.initial
无法正确序列化(如何使用 dill 将所有类变量写入磁盘?)。
有人告诉我,我正在做的事情是“糟糕的”,我可以理解这一点,因为它看起来确实有点迂回。
我希望第一个实例可以在未来的所有实例中使用,而无需不断地传递它。
有没有更好的方法来实现这一点?也许可以正确序列化?