python 中__init__、__getitem__、__setitem__如何理解
def checkIndex(key):
if not isinstance(key,(int,long)):raise TypeError
if key<0:raise IndexError
class ArithmeticSequence:
def __init__(self,start=0,step=1):
self.start = start #保存开始值
self.step = step #保存步长值
self.changed = {} #没有项被修改
def __getitem__(self,key):
checkIndex(key)
try:return self.changed[key] #修改好了吗?
except KeyError: #否则......
return self.start + key*self.step #.....计算值
def __setitem__(self,key,value):
checkIndex(key)
self.changed[key] = value