【问题标题】:object has no attribute error in python对象在python中没有属性错误
【发布时间】:2018-03-14 07:20:39
【问题描述】:

我是 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'             

【问题讨论】:

    标签: python oop linked-list attributeerror


    【解决方案1】:

    def _init_(self): 更改为def __init__(self):(两个下划线)。因为这个方法是构造方法,所以一定要写成这种形式。

    【讨论】:

      猜你喜欢
      • 2014-05-14
      • 1970-01-01
      • 2014-07-08
      • 1970-01-01
      • 2021-06-04
      • 2016-04-17
      • 2014-03-30
      • 2023-03-22
      相关资源
      最近更新 更多