如何迭代对象并将其所有属性分配给列表

1 python

a = []

class A(object):
    def __init__(self):
        self.myinstatt1 = 'one'
        self.myinstatt2 = 'two'
Run Code Online (Sandbox Code Playgroud)

a =['one','two']
Run Code Online (Sandbox Code Playgroud)

lvc*_*lvc 9

Python有一个方便的内置函数,称为vars,它将属性作为一个字典给你:

>>> a = A()
>>> vars(a)
{'myinstatt2': 'two', 'myinstatt1': 'one'}
Run Code Online (Sandbox Code Playgroud)

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

>>> vars(a).values()
['two', 'one']
Run Code Online (Sandbox Code Playgroud)

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