[問題] 有關Class 的__Init__

看板Python作者 (系子)時間17年前 (2007/10/18 16:32), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/2 (看更多)
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)

10/19 11:27, , 1F
多謝你 我解決了 XD 太粗心了
10/19 11:27, 1F
文章代碼(AID): #175ne0-_ (Python)
討論串 (同標題文章)
文章代碼(AID): #175ne0-_ (Python)