AttributeError:' class1'对象没有属性'追加'

时间:2014-03-19 17:31:37

标签: python python-3.x

关于课程的蹩脚问题:

class class1:

  def __init__(self):
    self = []

  def insert1(self,x):
    self.append(x) /// the object is a list in which x to be appended

a = class1()
a.insert1(5)

我得到:AttributeError:' class1'对象没有属性'追加'

我做错了什么?

1 个答案:

答案 0 :(得分:1)

您不能只为self分配一个列表;你所做的只是重新绑定本地名称到列表对象。

您必须继承list类型:

class class1(list):
    def insert1(self, x):
        self.append(x)

或为self上的属性指定新的列表对象:

class class1:
    def __init__(self):
        self._lst = []

    def insert1(self, x):
        self._lst.append(x)