我是Python的新手,我不确定是否可以这样做。如你所见,我甚至无法找到问题的好标题。假设我有2个班级,
class A:
self.B = None
class B:
def c(self):
pass
def d(self):
pass
现在,如果我创建一个类的实例,
a = A()
a.b = B()
我想要类似的东西,
print a.c()
这应该在内部调用:
a.b.c()
答案 0 :(得分:2)
让A.__getattr__()
抓住对a.c
的访问权限并让其返回a.b.c
。
答案 1 :(得分:1)
为什么你希望它能像那样工作?如果它被理解为具有B的方法,则从B继承。
答案 2 :(得分:1)
class A:
self.B = None
这不会编译。自我指的是什么?也许你的意思是以下几点?
class A:
def __init__(self):
self.b = None
a = A()
a.b = B()
正如@Ignacio所说,使用 getattr 或从B继承A,如下所示:
class A(B):
...