关于python:我如何迭代一个对象并将它的所有属性赋给一个列表

How can I iterate over an object and assign all it properties to a list

虔诚的

1
2
3
4
5
6
a = []

class A(object):
    def __init__(self):
        self.myinstatt1 = 'one'
        self.myinstatt2 = 'two'

两个

1
a =['one','two']


python有一个称为vars的方便内置函数,它将把属性作为dict提供给您:

1
2
3
>>> a = A()
>>> vars(a)
{'myinstatt2': 'two', 'myinstatt1': 'one'}

要仅获取属性值,请使用适当的dict方法:

1
2
>>> vars(a).values()
['two', 'one']

在python 3中,这会给您一个与列表稍有不同的东西——但是您可以在那里使用list(vars(a).values())


尝试查看__dict__属性。它将帮助您:

1
2
3
a = A().__dict__.values()
print a
>>> ['one', 'two']