Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.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将class object.variable替换为适当的值_Python - Fatal编程技术网

Python将class object.variable替换为适当的值

Python将class object.variable替换为适当的值,python,Python,我在想有没有办法用类对象的值替换object.variable 例如: class A: def __init__(self,a): self.attr1 = a a_obj1 = A('Name1') print(a_obj1.attr1) 打印姓名1 如果我将attr1保存在一个变量中,并尝试访问它,那么 a_obj2 = A('Name2') attrName = 'attr1' print(a_obj2.attrName) 显示AttributeError:

我在想有没有办法用类对象的值替换object.variable

例如:

class A:
    def __init__(self,a):
        self.attr1 = a

a_obj1 = A('Name1')
print(a_obj1.attr1)
打印姓名1

如果我将attr1保存在一个变量中,并尝试访问它,那么

a_obj2 = A('Name2')
attrName = 'attr1'
print(a_obj2.attrName)
显示AttributeError:'对象没有属性'attrName'

我的理解是python的REPL解析器可能不会在之后扩展任何东西,这是有意义的。 但有什么办法可以做到这一点吗?特别是将一个变量的值与另一个变量相结合以生成一个变量

更新:谢谢。找到解决方案。

使用格式为
getattr(a_obj,attrName)的
getattr()

试试看

class A:
    def __init__(self,a):
        self.attr1 = a

a_obj1 = A('Name1')
print(a_obj1.attr1)
a_obj2 = A('Name2')
attrName = 'attr1'
print(getattr(a_obj2, attrName))

您需要
getattr
:尝试
getattr(a_obj2,attrName)