如何将元素从一个类添加到另一个类列表python

Jac*_*son 0 python class

class lista(object):
    listanumere=[]
    def printer(self):
        print self.listanumere
    def adds(self,numar):
        self.listanumere.append(numar)

class movies():
    def __init__(self,ide,nume):
        self.__nume=nume
        self.__ide=ide

listarez=lista
a=movies(1,"David")
lista.adds(a)
lista.printer()
Run Code Online (Sandbox Code Playgroud)

错误:

TypeError: unbound method adds() must be called with lista instance as first argument (got movies instance instead)  
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:如何使包含在其他类中定义的元素的列表,例如其中包含电影和一些方法,其修改,例如增加一个新的电影或删除电影用列表的列表类的类某些身份证?

wim*_*wim 6

你似乎在混淆类方法和实例方法.你可能想做:

listarez = lista()
Run Code Online (Sandbox Code Playgroud)

然后

listarez.adds(a)
listarez.printer()
Run Code Online (Sandbox Code Playgroud)

  • 我还要指出`listanumere`是一个类属性,这意味着每个`lista`实例共享相同的列表,这可能不是OP的意图.要修复,删除`listanumere = []`,给`lista`一个`__init__`方法,而不是`self.listanumere = []`. (2认同)