python入门42课动动手第一题
0. 我们都知道在 Python 中,两个字符串相加会自动拼接字符串,但遗憾的是两个字符串相减却抛出异常。因此,现在我们要求定义一个 Nstr 类,支持字符串的相减操作:A – B,从 A 中去除所有 B 的子字符串。>>> a = Nstr('I love FishC.com!iiiiiiii')
>>> b = Nstr('i')
>>> a - b
'I love FshC.com!'
答:只需要重载 __sub__ 魔法方法即可。
class Nstr(str):
def __sub__(self, other):
return self.replace(other, '')
这个self.repliace(other,'')
是哪里来的啊 。。。。 这是字符串自带的方法 这是自带的一个字符串的方法,string.replace('a','b')作用是可以把字符串string中所有的字符'a'替换成字符'b',同理self.replace(other,'')可以把self中含有other的部分换成空字符串达成’相减‘的目的。查看字符串的方法也可以找到的。 Hoiste 发表于 2020-3-30 12:03
这是自带的一个字符串的方法,string.replace('a','b')作用是可以把字符串string中所有的字符'a'替换成字符 ...
懂了 tks
页:
[1]