2013-10-11 53 views
-2

我是python的新手,我无法获取下面类的实例,它位于名为“util.py”的python文件中:在Python中使用“__init __(self)”方法获取类的实例

... 
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'对象不可迭代

请帮帮我!

+2

请发布* full * traceback以及;在这段代码中有* nothing *会抛出异常。 –

+0

对于初学者,你并没有重复任何事情。 –

+0

让我查看我的代码 –

回答

1

您不需要直接拨打__init__;调用

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

__init__初始化方法将被自动调用。

+0

我试过,但我得到这个错误:TypeError:'NoneType'对象不可迭代 –

+0

@MortezaFarhang :不与您发布的代码一起使用。 –

+0

有没有什么办法可以通过调用“__init __()”来获得类的实例? –

0

为什么不让栈从列表继承?它几乎和列表一样,但你可以添加你自己的方法。

class Stack(list): 
    pass 
+0

你是对的我猜,但我在大学做了一个计算机分配,我们好心肠不应该改变堆栈定义结构:) –

相关问题