このトピックに関するすべての同様の記事を読んだことがありますが、何が起こっていたのか把握するのに役立つ方法で私の問題に関連するものは見つかりませんでした。'super'オブジェクトには '_Parent__method'属性はありません
class A:
def __init__(self, value):
self.__value = value
self.__conn = httpsconnection # Specifics don't matter
class B(A):
def __init__(self, id, type, value):
super().__init__(value)
self.data = self.__create_sub_class(id, type)
def __create_sub_class(self, id, type):
self.__conn.request(...)
...
return data
class C(B):
def __init__(self, id, value):
super().__init__(id, externalVariable, value)
私は取得していますエラーがAttributeError: 'C' object has no attribute '_B__conn'
クラスC
はA
からそれを継承しB
から変数を継承するべきではないでしょうか?
なぜ二重アンダースコアの名前を使用していますか?継承性を避けるために明示的に設計されています。 –
https://docs.python.org/3/tutorial/classes.html#private-variables – NPE
@MartijnPietersこれらは私の個人的な変数です。私がプログラムを覚えていたとき、私は別の言語で習った習慣です。 – Spedwards