作者theee (系子)
看板Python
标题[问题] 有关Class 的__Init__
时间Thu Oct 18 16:31:59 2007
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)
1F:→ theee:多谢你 我解决了 XD 太粗心了 10/19 11:27