在Python中,我定义了一个“数据”类,该类将一些反序列化的数据作为类变量保存,还有一个load()@classmethod,它从磁盘加载数据并将其存储在该类变量中。
像这样:
class_a.py
class ClassA(object):
data = None
@classmethod
def load(cls):
...
cls.data = ...
现在我将其导入两个地方:
1)Jupyter笔记本 2)在jupyter笔记本(helper.py)导入的另一个文件中
但是,问题是当我第一次在jupyter笔记本中调用ClassA.load()时,然后我调用了从helper.py导入的方法,该方法调用ClassA,并且在ClassA.data为None时出现错误。 / p>
在jupyter笔记本中,调用ClassA.load()之后,我可以像往常一样访问ClassA.data。当我在使用ClassA.data的helper.py中调用该函数时,它给我一个错误。 进一步调查,jupyter笔记本中ClassA的内存地址与helper.py中的地址不同。
这是预期的吗?我感觉好像遇到了一些我不理解的类。我想如果您定义一个类,该类仅存储在内存中的一个位置。