属性错误:';列表';对象没有属性';显示';用python
使用类对象调用display函数时出错 我应该做些什么来克服这个问题属性错误:';列表';对象没有属性';显示';用python,python,list,Python,List,使用类对象调用display函数时出错 我应该做些什么来克服这个问题 class A: def __init__(self, fname, lname, age): self.fname = fname self.lname = lname self.age = age def disply(self): fp = open("abc","r") for lines in fp:
class A:
def __init__(self, fname, lname, age):
self.fname = fname
self.lname = lname
self.age = age
def disply(self):
fp = open("abc","r")
for lines in fp:
temp = lines.split(", ")[-1]
fp.close()
print a
a = [A("Taylor","Launter",22), A("James","bond",40)]
a.display()
现在a
是一个列表。python中的列表没有display
方法
实际上您可能想做的是调用A
对象的display
方法。如果是这样的话,你可能会想这样做
for currentObject in [A("Taylor","Launter",22), A("James","bond",40)]:
currentObject.display()
编辑您的
显示
方法对我没有任何意义。您有一个名为a
的实例列表a
不是实例,它是一个列表
你可能想做:
for myobject in a:
myobject.disply() # Note "disply" instead of "display"
a
是一个列表,它没有display()方法。您可能需要将def display(self):
重命名为def display(self):
@thefourtheye:重命名无法解决问题problem@GajGaj光靠这一点解决不了问题。请看我下面的答案。我只是在检查答案。我相信你指的是myobject.disply()?您的代码与OP有相同的问题。
for myobject in a:
myobject.disply() # Note "disply" instead of "display"