在两个单独的地方导入单个类的问题

时间:2019-01-04 19:06:33

标签: python

在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中的地址不同。

这是预期的吗?我感觉好像遇到了一些我不理解的类。我想如果您定义一个类,该类仅存储在内存中的一个位置。

0 个答案:

没有答案