私は以下のクラスを担当しています
class Foo():
data = "abc"
そして私はそれをサブクラス化する
class Bar(Foo):
data +="def"
サブクラスで親クラスの属性を編集しようとしています。親クラスに文字列を持たせ、サブクラスでその文字列に追加データを追加したいのですが、Python ではどのようにすればよいのでしょうか? 設計が間違っているのでしょうか?
ベストアンサー1
2つの質問をします:
Python ではどのように実行すればよいでしょうか?
class Bar(Foo):
data = Foo.data + "def"
私の設計が間違っているのでしょうか?
私は通常、Python でクラス変数を使用しません。より一般的なパラダイムは、インスタンス変数を初期化することです。
>>> class Foo(object):
... data = "abc"
...
>>> class Bar(Foo):
... def __init__(self):
... super(Bar, self).__init__()
... self.data += "def"
...
>>> b = Bar()
>>> b.data
'abcdef'
>>>