class x():
def __init__(self):
self.z=2
class hi():
def __init__(self):
self.child=x()
f=hi()
print f.z
我希望它能打印2
。
基本上我想将对该类的任何调用转发给另一个类。
答案 0 :(得分:3)
最简单的方法是实施__getattr__
:
class hi():
def __init__(self):
self.child=x()
def __getattr__(self, attr):
return getattr(self.child, attr)
这有一些缺点,但它可能适用于您的有限用例。您可能还希望实施__hasattr__
和__setattr__
。
答案 1 :(得分:0)
Python语法是:
class hi(x):
要说hi
继承(应该是孩子)x
。
注意:为了使hi
拥有属性z
(因为这位于hi
的{{1}}} __init__
需要明确地在x.__init__
中运行。也就是说,
x