3
class x():
    def __init__(self):
        self.z=2

class hi():
    def __init__(self):
        self.child=x()

f=hi()
print f.z

印刷したい2

基本的に、そのクラスへの呼び出しを別のクラスに転送したいと考えています。

4

2 に答える 2

3

最も簡単なアプローチは実装__getattr__です:

class hi():
    def __init__(self):
        self.child=x()

    def __getattr__(self, attr):
        return getattr(self.child, attr)

これにはいくつかの欠点がありますが、限られたユースケースではうまくいくかもしれません。__hasattr__を実装することもでき__setattr__ます。

于 2012-09-04T12:14:31.067 に答える
0

Python の構文は次のとおりです。

class hi(x):

hi継承する(の子である必要があります)と言うにはx

.

注: にhiプロパティを持たせるにはz(これはhiのにあるため__init__)x.__init__で明示的に実行する必要がありますx。あれは、

class hi(x):
    def __init__(self):
        x.__init__(self)
于 2012-09-04T12:10:38.823 に答える