2

私はクラスを持っています:

class Foo():
    def __init__(self):
        self.a = 1

そしてそれは子です:

class Bar(Foo):
    def __init__(self, foo, string):
        Foo.__init__(self)
        self.b = string

Bar() オブジェクトから Foo() オブジェクトを作成する必要があります。どうすればよいですか?

すなわち:

a = Foo()
a.a = 2
print a.a

b = Bar(a, 'ololo')

print b.a
print b.b

私はこれを印刷します:

2
1
ololo

そしてこれを期待しています:

2
2
ololo
4

3 に答える 3

0

aa = 2 を設定すると、変数は Foo クラスの 1 つのインスタンスにのみ設定され、クラス「ブループリント」自体の変数は変更されません。したがって、Foo クラスを親クラスとして使用する場合、元の self.a 変数は保持されます: a = 1.

これは、子クラス Bar が変数 self.a = 1 を継承することを意味します。これが、例のように出力された理由です。

これ以外に、あなたが達成しようとしていることについてはわかりません。申し訳ありません。

于 2013-04-14T16:03:13.923 に答える