代码之家  ›  专栏  ›  技术社区  ›  chanakya sunkarapally

对象在python中没有属性错误

  •  1
  • chanakya sunkarapally  · 技术社区  · 7 年前

    我是python编程新手,在下面提到的程序中遇到了一个错误。这是一个将节点添加到链表末尾的简单程序。错误表示对象LinkedList没有属性头。请帮我解决这个问题。

    class Node:
        def _init_(self, data):
            self.data = data
            self.next = None
    
    class LinkedList:
        def _init_(self):
            self.head=None
    
        def createNode(self, data):
            newNode = Node(data)
            return newNode
    
        def insertNodeHelper(self, head, data):
            if(head==None):
                return self.createNode(data)
            head.next = self.insertNodeHelper(head.next,data)
            return head
    
        def insertNode(self, data):
            self.head = self.insertNodeHelper(self.head,data)
    
        def printList(self, head):
            if(head==None):
                return;
            print(head.data)
            self.printList(head.next)
    
        def printLinkedList(self):
            self.printList(self.head)
    
    l = LinkedList()
    l.insertNode(12)
    l.insertNode(13)
    l.insertNode(15)
    l.printList()
    

    我收到以下错误:

    Message File Name   Line    Position    
    Traceback               
        <module>    <module1>   35      
        insertNode  <module1>   21      
    AttributeError: 'LinkedList' object has no attribute 'head'             
    
    1 回复  |  直到 7 年前
        1
  •  4
  •   黄煜楠   7 年前

    改变 def _init_(self): def __init__(self): (两条下划线)。由于此方法是构造函数方法,因此必须以这种形式编写。