zkyk 发表于 2021-1-25 00:29:31

python 魔法方法课后题

0. 我们都知道在 Python 中,两个字符串相加会自动拼接字符串,但遗憾的是两个字符串相减却抛出异常。因此,现在我们要求定义一个 Nstr 类,支持字符串的相减操作:A – B,从 A 中去除所有 B 的子字符串。
class Nstr():
    def __init__(self,s):
      self.str=s
    def __sub__(self,other):
      for i in other.str:
            if i in self.str:
                (self.str).replace(i,'')
      return self.str
这样写为什么错了

小伤口 发表于 2021-1-25 02:09:36

class Nstr():
    def __init__(self,s):
      self.str=s
    def __sub__(self,other):
      for i in other.str:
            if i in self.str:
                self.str=(self.str).replace(i,'')
      return self.str
replace不会改变原字符串的内容
需要重新赋值
页: [1]
查看完整版本: python 魔法方法课后题