Python类变量未保留值

时间:2018-09-13 09:42:28

标签: python python-3.x

我用类变量声明了一个类。 模块名称my_moudle_1.py 例如:

class my_class:
    my_dict={}#The class variable

def __init__(self):
   return

在另一个模块中-我写道my_moudle_2.py:

从my_moudle_1导入my_class

在此模块内有一个类。在类方法中,我写道:

my_class.my_dict ['123'] = 5

在第三个模块-my_moudle_3.py中,我再次写道:

从my_moudle_1导入my_class

当我在my_class实例中检查my_dict变量值时,我得到 该值为{}。 我如何在其他模块中更新类变量并使用它 在另一个文件中的实例中?

谢谢

1 个答案:

答案 0 :(得分:0)

事实并非如此。我无法重现此问题:

mymod.py

class my_class:
    my_dict = {}

    def __init__(self):
       return

my_class.my_dict['foo'] = 'bar'

mymod2.py

from mymod import my_class

my_class.my_dict['greeting'] = 'Hello'

testapp.py

from mymod import my_class
import mymod2  # will modify my_dict as a side effect

my_class.my_dict['barq'] = 'foo'

print(my_class.my_dict)

$ python3 testapp.py
{'foo': 'bar', 'greeting': 'Hello', 'barq': 'foo'}
$