如何从列表中调用Python类实例?

时间:2018-04-25 20:59:26

标签: python

我希望能够选择班级'财产由它的名字。这是我的代码:

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()

3 个答案:

答案 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])