Python 如何通过动态引用父类的静态变量来更改其属性?

Python 如何通过动态引用父类的静态变量来更改其属性?,python,class,inheritance,Python,Class,Inheritance,我正在一个子类中阅读新的“变量=值”对。“变量”被读取为字符串。该值会变化,可以是整数、浮点、布尔等。也可以读取这些对的倍数。变量的选择太多了,所以动态处理似乎是唯一可行的选择 问题是,如何在不直接引用变量名的情况下更改这些父类静态变量。我不想更改子类实例中的数据,而是直接更改父类中的数据 下面是一些显然不符合我要求的代码 类父级: #我要更改的静态变量 静态变量1=“一些文本” 静态变量2=1.0 定义初始化(自): 通过 班级儿童(家长): 定义初始化(自): #数据实际上并没有在uu in

我正在一个子类中阅读新的“变量=值”对。“变量”被读取为字符串。该值会变化,可以是整数、浮点、布尔等。也可以读取这些对的倍数。变量的选择太多了,所以动态处理似乎是唯一可行的选择

问题是,如何在不直接引用变量名的情况下更改这些父类静态变量。我不想更改子类实例中的数据,而是直接更改父类中的数据

下面是一些显然不符合我要求的代码

类父级:
#我要更改的静态变量
静态变量1=“一些文本”
静态变量2=1.0
定义初始化(自):
通过
班级儿童(家长):
定义初始化(自):
#数据实际上并没有在uu init_uuu中定义,但对于本例来说,这并不重要
self.received_dictionary={“static_variable1”:“some_other_text”,
“静态变量2”:2.0}
def change_parent_static_变量(自身):
#将键和值提取到列表中
变量名称=列表(self.received\u dictionary.keys())
值=列表(self.received\u dictionary.values())
#尝试更改父类静态值
对于范围内的i(len(键)):
变量名称=键[i]
值=值[i]
Parent.variable_name=值
假设在实际应用程序中,父类中有太多的静态变量,因此不可能使用if语句检查每个变量

如果父类具有某种由子类调用的setter函数,并且setter函数动态设置静态变量(如果是父类),也可以这样做。

尝试以下操作:

for variable_name, value in self.received_dictionary.items():
    setattr(Person, variable_name, value)
或者,如果您明确希望使用基类:

for variable_name, value in self.received_dictionary.items():
    setattr(self.__class__.__bases__[0], variable_name, value)

这是什么语言?python你应该在问题中添加一个标签,这样评论会更容易跟踪你的问题并帮助你。