我希望能够选择班级'财产由它的名字。这是我的代码:
class example(object):
def __init__(self):
self.one = "1"
self.two = "2"
x = example()
list = ["one", "two"]
# I want to get x.one here by referring to it by list[0]
我该怎么做?
工作示例:
class example(object):
def __init__(self):
self.one = "one"
self.two = "two"
def test(self):
list = ["one", "two"]
print(getattr(self, list[1]))
x = example()
x.test()
答案 0 :(得分:2)
Python中的动态属性访问由内置函数getattr
提供:
>>> getattr(x, list_[1])
'2'
>>> [getattr(x, name) for name in list_]
['1', '2']
答案 1 :(得分:1)
如果您尝试按名称访问对象属性,请尝试以下操作:
list = ['one', 'two']
print getattr(x, list[1])
答案 2 :(得分:1)
您需要getattr
功能:
getattr(x, list[1])