Python将class object.variable替换为适当的值
我在想有没有办法用类对象的值替换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:
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)