サブクラスの親属性を変更する方法 Python 質問する

サブクラスの親属性を変更する方法 Python 質問する

私は以下のクラスを担当しています

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'
>>> 

おすすめ記事