Python - 内部类没有定义?

jtc*_*n63 3 python inner-classes

我必须为我的一个班级做一个展开的链表.我是python的新手,但不是编程,出于某种原因我不能解决这个小问题!

我有一个类Node,它是展开的链表中使用的节点对象.展开的链表类执行Node类的所有操作.

class UnrolledLinkedList(object):

    """ INNER NODE CLASS """
    class Node(object):
        def __init__(self):
            self.array = []
            self.next_node = None
    """ END NODE CLASS """

    def __init__(self, max_node_capacity=16):
        self.max_node_capacity = max_node_capacity
        self.head = Node()


    """ OTHER FUNCTIONS OF UNROLLEDLINKEDLIST CLASS """
Run Code Online (Sandbox Code Playgroud)

问题出现在UnrolledLinkedList类的init函数的最后一行:"未定义全局名称节点".我仔细检查了我的缩进,并在互联网上查看了类似这样的例子,但找不到任何东西.有人会介意向我解释什么是错的吗?

Ign*_*ams 8

方法包括其类作为要搜索的范围.如果您希望这个工作,那么您将需要使用UnrolledLinkedList.Nodeself.Node替代.


gne*_*kus 5

内部类Node是类的成员,UnrolledLinkedList只能通过self.

def __init__(self, max_node_capacity=16):
    self.max_node_capacity = max_node_capacity
    self.head = self.Node()
Run Code Online (Sandbox Code Playgroud)