看板 Python 關於我們 聯絡資訊
class Names: VERSION="1.0" AUTHOR="theee" def __init__(self, data=None): if data == None: data = [] else: self.data_list.append = data def add(self, name): self.data_list.append(name) def show(self): print self.data_list name1 = Names() name1.add("John") name1.show() name2 = Names() name2.add("Frank") name2.show() 我想將程式中name1 = Names() 直接改成name1 = Names("Hello") 我的想法是其他class觀念一樣 可以直接在建class時對constructor給值 但是在python一直會出錯? 是因為我還有一個self變數嗎? 是的話我該怎麼改 ? 還有self 不寫會怎樣嗎? 我照著範例寫可以跑 但我不知道self.data_list為什麼會過編譯 因為錯誤訊息是 AttributeError: Names instance has no attribute 'data_list' 看起來是這個問題 但為什麼改成name1 = Names("Hello")就掛了 多謝各位 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.120.58.130 ※ 編輯: theee 來自: 59.120.58.130 (10/18 16:43)
theee:多謝你 我解決了 XD 太粗心了 10/19 11:27