-2

私はpythonが初めてで、「util.py」という名前のpythonファイルにある以下のクラスのインスタンスを取得できません。

...
class Stack:
    def __init__(self):
        self.list = []
...

そして、「Search.py​​」という名前の別の python ファイルで前述のクラスのインスタンスを構築しようとしています。コードは次のとおりです。

def depthFirstSearch(problem):

   from util import Stack

   path = [] #list used to return the desired actions

   DFSstack = Stack()

私のコードには本当に何もありません! :)しかし、私はこのエラーを受け取ります: TypeError: 'NoneType' object is not iterable

助けてください!

4

2 に答える 2

1

__init__直接呼び出す必要はありません。クラスを呼び出します:

>>> class Stack:
...     def __init__(self):
...         self.list = []
... 
>>> DFSstack = Stack()

その後__init__、初期化メソッドが自動的に呼び出されます。

于 2013-10-11T09:59:02.807 に答える
0

スタックにリストから継承させてみませんか? リストとほとんど同じように機能しますが、独自のメソッドを追加できます。

class Stack(list):
    pass
于 2013-10-11T10:33:58.840 に答える