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)