如何迭代对象属性和值

时间:2014-09-30 22:50:28

标签: python loops properties attributes

我有一个对象,我们会说Person

Person具有以下属性:

nameagegender

我想迭代Person的一个实例并打印其所有值。

现在我正在使用:

Ryan = Person()

for prop in dir(Ryan):
    print(i)

打印出来:

name
age
gender

现在,我如何找到这些值?我试过了

for prop in dir(Ryan):
    print(Ryan.i) #object has no attribute `i`

1 个答案:

答案 0 :(得分:4)

您可以使用getattr

for prop in dir(Ryan):
    print(prop, getattr(Ryan, prop))

或者,如果你真的想要幻想,你可以看看inspect

for prop_name, prop_value in inspect.getmembers(Ryan):
    print(prop_name, prop_value)