重构__sub__方法后,减完后返回的是str对象,而不是nstr对象。
class Nstr(str):def __sub__(self,other):
self=self.replace(other,'')
return self
如上例,甲鱼老师的答案也差不多。
str1、str2是Nstr对象,现在问题是:str1-str2后,不能和nstr的对象str3相减,不能实现默认的a-b-c的结果。
这个如何修改,请各位老师指导
包括第二题的<<>>重构后,也只是能移动一次,不能实现先移2次,完了在移动3次的操作。 self.replace(other,'') ??你在干吗?
你把 other 替换成 ‘’ 然后赋值到 self 怎么可能会相减?
看起来差不多而已 从self中剔除了子串other呀 claws0n 发表于 2018-7-29 13:07
self.replace(other,'') ??你在干吗?
你把 other 替换成 ‘’ 然后赋值到 self 怎么可能会相减?
看起 ...
从self中剔除了子串other呀
比如‘ 1234561’-‘123’=‘4561’
‘456’1‘-61’执行不了我说的这个意思,包括老师的答案,也是不能实现str1-str2-str3的功能。 把return self 改成 return Nstr(self) 就可以了 在东边 发表于 2018-8-5 00:50
把return self 改成 return Nstr(self) 就可以了
ok
页:
[1]