我需要获取一个模块中所有对象的列表——而不仅仅是它们名称的列表。所以,例如,我有:
class myClass:
def __init__(self):
# here be code
pass
class thing1(myClass):
def __init__(self):
self.x = 1
class thing2(myClass):
def __init__(self):
self.x = 2
等等。
我想要的是可以给我 myClass
( thing1
, thing2
中的对象列表的东西,我可以从中调用属性)我正在尝试做这样的事情:
for myThing in dir(myClass):
print myThing.x
但是 dir
函数只给出了类名列表,我无法从中获取属性。
我怎样才能做到这一点?
原文由 NSP 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果字符串中有属性名称,则应使用
getattr
将其取出。给定一个模块 X,你可以得到它所有属性的列表和(例如)它们的类型,就像这样。