Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python类变量不保留值_Python_Python 3.x - Fatal编程技术网

Python类变量不保留值

Python类变量不保留值,python,python-3.x,Python,Python 3.x,我用一个类变量声明了一个类。 模块名称my_moudle_1.py 例如: class my_class: my_dict={}#The class variable def __init__(self): return 在另一个模块——我的moudle_2.py中,我写道: 从my_moudle_1导入my_类 在这个模块中有一个类。在我编写的类方法中: 我的班级。我的字典['123']=5 在第三个模块——my_moudle_3.py中,我再次写道: 从my_moudle_

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

class my_class:
    my_dict={}#The class variable

def __init__(self):
   return
在另一个模块——我的moudle_2.py中,我写道:

从my_moudle_1导入my_类

在这个模块中有一个类。在我编写的类方法中:

我的班级。我的字典['123']=5

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

从my_moudle_1导入my_类

当我在我的\u类的实例中检查我的\u dict变量值时,我得到 该值为{}。 如何在不同的模块中更新类变量并使用它 在不同文件中的实例中


谢谢,不应该是这样的。我无法重现这个问题:

mymod.py mymod2.py 测试pp.py

这可能是缩进吗?如果你发布一个新的示例,人们会更容易帮助你。更新另一个模块和类中的类变量并尝试读取另一个类和模块中的类变量返回{}@Orenl更新了示例。仍然无法复制。如果你不能复制,那么就不要回答,投票以“无法复制”结束@Jean Françoisfare答案是“不应该是这样”。非复制步骤说明了事情是如何工作的。
class my_class:
    my_dict = {}

    def __init__(self):
       return

my_class.my_dict['foo'] = 'bar'
from mymod import my_class

my_class.my_dict['greeting'] = 'Hello'
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'}
$