[問題] 有關Class 的__Init__
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
10/19 11:27, 1F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
Python 近期熱門文章
PTT數位生活區 即時熱門文章