|
>>> def checkIndex(key):
if not isinstance(key,(int,long)):raise TypeError
if key<0:raise IndexError
>>> class ArithemeticSequence(object):
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
>>> s=ArithemeticSequence(1,2)
>>> s[4] #这里我查到是相当于s.__getitem__(4)
9
>>>s.__setitem__(4,20) #这里我想问一下 这个怎么简写呢,用什么可以替代呢????
>>> s[4]
20
|
|