![](/img/trans.png)
[英]How can a list be called from one class to another class in Python?
[英]How to add elements from one class to another class list, python
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()
错误:
TypeError: unbound method adds() must be called with lista instance as first argument (got movies instance instead)
所以我的问题是:如何制作一个包含另一个类中定义的元素列表的类,例如,一个包含电影列表的类以及一些修改列表的方法,例如添加一个新电影或删除一个包含以下内容的电影:一定的ID?
您似乎混淆了类方法和实例方法。 您可能想做:
listarez = lista()
接着
listarez.adds(a)
listarez.printer()
简短答案:
class lista(object):
listanumere=[]
def printer(self):
print "\n".join( [ str(elem)for elem in self.listanumere ] )
def adds(self,numar):
self.listanumere.append(numar)
class movies():
def __init__(self,ide,nume):
self.__nume=nume
self.__ide=ide
def __str__(self):
return ":".join( [ str(self.__nume) , str(self.__ide) ] )
listarez=lista()
a=movies(1,"David")
b=movies(2,"Goliath")
listarez.adds(a)
listarez.adds(b)
listarez.printer()
如果我是你,我会使用一个从字典派生的类(例如{'ID string':movie object}),并使用正确的重载方法(init,str,..)。 这样,您就可以利用标准方法(例如itertools等)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.