Python 2.7.3を使用してWindows 7を実行していますが、理由がわからない継承エラーが発生しています。私はかなりの検索を行いましたが、まだあまり関連するものを見つけていません。
私の問題は、あるクラスから別のクラスに継承しようとすると AttributeError が発生し続けることです。私が持っている基本的な構造は次のようになります。
# pymyClass.py
class myClass(object):
def __init__(self,aList=None):
if aList is not None:
myList = aList
else:
myList = ['','','','','']
def reset(self,aList=None):
if aList is not None:
myList = aList
else:
myList = ['','','','','']
#other methods operate without issue
# pymySecondClass.py
import pymyClass
class mySecondClass(pymyClass.myClass):
def __init__(self,aList=None):
pymyClass.myClass(aList)
# pymyThirdClass.py
import pymySecondClass
class myThirdClass(pymySecondClass.mySecondClass):
def __init__(self,aList=None):
pymySecondClass.mySecondClass(aList)
def useList(self,aList=None):
self.reset(aList)
print self.myList
#pymyObj.py
import pymyThirdClass
myObj = pymyThirdClass.myThirdClass(['a','b','c','1','2'])
myObj.useList()
...しかし、myThirdClass() のインスタンス化を呼び出して useList() を呼び出すと、次のようにエラーが発生します。
AttributeError: 'myThirdClass' object has no attribute 'myList'
実際にここで例をコンパイルして同じ問題が発生したため、継承が期待どおりに機能しないと考えています。私はPythonのドキュメントをチェックしましたが、十分に近くないのでしょうか? 誰かがここで私を助けることができれば、それは非常に高く評価されます.
フィールド「myList」を myThirdClass コンストラクターに手動で含める必要があるかもしれないと考えていますが、それは信じられないほど不十分です。前もって感謝します!