获取dir中的变量值(类)

时间:2014-10-29 15:18:39

标签: python python-3.x

我正在python中编写一个类,它将一堆相似的变量组合在一起,然后将它们组装成一个字符串。我希望避免在generateString方法中手动输入每个变量,所以我想使用类似的东西:

for variable in dir(class):
    if variable[:1] == '_':
        recordString += variable

但是目前它只返回一个包含所有变量名的字符串。有没有办法获得变量的值?

1 个答案:

答案 0 :(得分:3)

您可以使用getattr() function动态访问属性:

recordString += getattr(classobj, variable)

但是,你可能想在这里使用dir()dir()为您提供了实例,类和基类的属性列表,而您似乎只想查找直接在对象上找到的属性。

您可以使用vars() function代替字典,让您使用items()同时获取名称和值:

for variable, value in vars(classobj).items():
    if variable[:1] == '_':
        recordString += value