2013-10-19 45 views
-1

當我使用類對象調用顯示函數時出現錯誤 我應該怎樣做才能解決這個問題?AttributeError:'list'對象在python中沒有屬性'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: 
      temp = lines.split(", ")[-1] 
     fp.close() 

     print a 

a = [A("Taylor","Launter",22), A("James","bond",40)] 
a.display() 
+0

'了'是一個列表,它沒有顯示()方法。 –

+0

您可能想重新命名爲def display(self):'def display(self):' – thefourtheye

+0

@thefourtheye:重命名不能解決問題 –

回答

1
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() 

編輯display法犯規任何意義我。

+0

我是檢查什麼的理由 –

+0

@GajGaj這是好的:)實驗總是很好。 – thefourtheye

2

您有一個名爲a的實例列表。 a不是實例/ s,它是一個列表。

你大概的意思做:

for myobject in a: 
    myobject.disply() # Note "disply" instead of "display" 
+0

當然你的意思是myobject.disply()?您的代碼與OP有相同的問題。 – Ben

+0

@本恩哦,我做到了。謝謝哈哈 – TerryA

相關問題