就是说你不该有下标的地方用了下标
ef subString(self, begin, end):
# 返回从begin到end-1的字符串
if(begin < 0 or begin >= self.curLen or end < begin
or end > self.curLen):
print('参数不合法')
tmp = [None] * (end - begin)
for i in range(begin, end):
tmp[i - begin] = self.strValue[i]
return SqString(tmp)
里面的 return SqString我不小心写成了[tmp]就有了这个报错