同じ基本クラスから継承するが、互いに遊びたくない 2 つのクラスがあります。実際には若いクラスです。
class A() :
...
class B(A) :
...
class C(A) :
...
b=B()
c=C()
c.method(b)
c と b の TypeError が同じではありません。Python はそれらが同じであると考える必要がありますか? __SpecialThingIDontKnowAbout__ プロパティ/メソッドを実装する必要がありますか? または、私が見逃しているクラス設計のトリックはありますか
特に、次のように TreeDict() を継承しています。
class TNode(TreeDict):
def __init__(self,*args,**kwargs) :
super(TNode, self).__init__(*args, **kwargs)
class LNode(TreeDict):
def __init__(self,*args,**kwargs) :
super(LNode, self).__init__(*args, **kwargs)
TN = TNode(); TN.A = 1
LN = LNode(); LN.A = 1
LN.attach('TN',TN)
与える
Traceback (most recent call last):
File "JSONE.py", line 430, in <module>
LN.attach(TN)
TypeError: descriptor 'attach' requires a 'treedict.treedict.TreeDict' ...
object but received a 'type'
子供が「タイプ」であり、「treedict ^ 3」が必要であることは理解していますが、子供にこの動作を模倣させるにはどうすればよいですか?
編集 :
うーん...元に戻す/やり直しの履歴に表示されるものとは違うことをしたわけではありません(ありがとうございました)