class x():
def __init__(self):
self.z=2
class hi():
def __init__(self):
self.child=x()
f=hi()
print f.z
印刷したい2。
基本的に、そのクラスへの呼び出しを別のクラスに転送したいと考えています。
class x():
def __init__(self):
self.z=2
class hi():
def __init__(self):
self.child=x()
f=hi()
print f.z
印刷したい2。
基本的に、そのクラスへの呼び出しを別のクラスに転送したいと考えています。
最も簡単なアプローチは実装__getattr__です:
class hi():
def __init__(self):
self.child=x()
def __getattr__(self, attr):
return getattr(self.child, attr)
これにはいくつかの欠点がありますが、限られたユースケースではうまくいくかもしれません。__hasattr__を実装することもでき__setattr__ます。
Python の構文は次のとおりです。
class hi(x):
hi継承する(の子である必要があります)と言うにはx。
.
注: にhiプロパティを持たせるにはz(これはhiのにあるため__init__)x.__init__で明示的に実行する必要がありますx。あれは、
class hi(x):
def __init__(self):
x.__init__(self)