当成员属性名称存储在另一个变量中时,我们在访问类的成员属性时遇到问题。例如:我们有一个类A,其成员属性为var1,var2,var2和upto var 100.从另一个类,我们尝试访问var67,我们要访问的属性名称(即var67)被存储在另一个变量x中,作为字符串(“var67”)(此x由不同的函数生成)。所以从x的值我们怎么能访问var67属性,因为我们不能做A.x。除了在A类中构建方法以在这种情况下访问变量之外,请引导我们任何简短的方法。谢谢!
MyClass:
variable = "blah"
def function(self):
print("This is a message inside the class.")
myobjectx = MyClass()
x="variable"
myobjectx.(getattr(MyClass(), x))
最后一行会抛出语法错误
答案 0 :(得分:0)
在python中你有getattr
内置函数:
class A:
def __init__(self):
self.a67 = 10
x = "a67"
print(getattr(A(), x))
这里有live example