如何获取python类的所有属性名称,包括从超类继承的那些属性?
class A(object):
def getX(self):
return "X"
x = property(getX)
a = A()
a.x
'X'
class B(A):
y = 10
b = B()
b.x
'X'
a.__class__.__dict__.items()
[('__module__','__main__'),('getX',
如何访问via b的属性?
需要:“给我一个包含b中所有属性名称的列表,包括那些从…继承的属性名称.”
>>> [q for q in a.__class__.__dict__.items() if type(q[1]) == property]
[('x',
最佳答案
你可以使用dir():
for attr_name in dir(B):
attr = getattr(B,attr_name)
if isinstance(attr,property):
print attr
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。