def花 发表于 2020-8-2 16:21:01

课后作业42讲

class Nstr(str):
    def __sub__(self, other):
      return self.replace(other, '')

不明白return self.replace(other, '')的意思QAQ

Twilight6 发表于 2020-8-2 16:22:03

本帖最后由 Twilight6 于 2020-8-2 16:27 编辑



实际上这里的 self 就是指减号左边的实例对象,other 就是指减号右边的实例对象

将减号左边的字符串含有减号右边的字符串替换为空字符串

比如 :
a = Nstr('123456')
b = Nstr('456')
print(a-b)

上面的代码 a 实例对象就相当于 self,而 b 就相当于 other

所以此时 return self.replace(other, '') 的意思就是将 '123456' 字符串中的'456' 字符串替换为 空字符串

即:'123' 然后返回,这样就达到了删减字符串的效果了

def花 发表于 2020-8-2 16:29:25

Twilight6 发表于 2020-8-2 16:22
实际上这里的 self 就是指减号左边的实例对象,other 就是指减号右边的实例对象

将减号左边的字符串 ...

秒懂,可是想不出来= =
页: [1]
查看完整版本: 课后作业42讲