因为没有属性
A.bar上
foo。属性
bar是所指向的对象的一部分
A,是的属性
foo。你需要
getattr(foo.A, "bar")
要么
getattr(getattr(foo, 'A'), 'bar')
访问深层属性的通用代码是在点上拆分,直到找到最后一部分为止(我是从内存写的,未经测试):
def getattr_deep(start, attr): obj = start for part in attr.split('.'): obj = getattr(obj, part) return objgetattr_deep(foo, 'A.bar')
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)