def check_index(key):
if not isinstance(key,int):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):
check_index(key)
try:return self.changed[key]
except KeyError:
return self.start+key*self.step
def _setitem_(self,key,value):
check_index(key)
if not isinstance(key,int):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):
check_index(key)
try:return self.changed[key]
except KeyError:
return self.start+key*self.step
def _setitem_(self,key,value):
check_index(key)
self.changed[key]=value
然后演示实例为
s=ArithmeticSequence(1,2)
s[4]
书上说结果为9,求解释,真心看不懂
本文介绍了一个名为ArithmeticSequence的Python类,该类用于创建算术序列,并支持通过索引获取和设置序列值。文章详细解释了_getitem_和_setitem_方法的工作原理,并提供了一个实例来展示如何使用此类。
9960

被折叠的 条评论
为什么被折叠?



