Creating new object instance still has old data in it
本问题已经有最佳答案,请猛点这里访问。
我有一个文件对我传递给它的对象运行一些分析
像这样:
1 2 3 4 5 6 7 8 9 | class Test: var_array = [] def add_var(self, new_var): self.var_array.append(new_var) def run(test): for var in test.var_array: print var |
我有另一个文件,我在其中定义要处理的信息
1 2 3 4 5 6 7 8 9 10 11 12 | import os import sys TEST_DIR = os.path.dirname(os.path.abspath(__file__)) if TEST_DIR not in sys.path: sys.path.append(TEST_DIR) from test import * test = Test() test.add_var('foo') run(test) |
所以如果我多次运行这个
1 2 3 4 5 6 7 8 9 10 11 | In [1]: %run test2.py foo In [2]: %run test2.py foo foo In [3]: %run test2.py foo foo foo |
我做错什么了?
在以下代码中,
1 2 | class Test: var_array = [] |
要定义实例变量,您应该在
1 2 3 | class Test: def __init__(self): self.var_array = [] |