鱼C论坛

 找回密码
 立即注册
查看: 1938|回复: 3

python入门42课动动手第一题

[复制链接]
发表于 2020-3-30 11:27:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
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,'')

是哪里来的啊 。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-30 11:29:18 | 显示全部楼层
这是字符串自带的方法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-30 12:03:58 | 显示全部楼层
这是自带的一个字符串的方法,string.replace('a','b')作用是可以把字符串string中所有的字符'a'替换成字符'b',同理self.replace(other,'')可以把self中含有other的部分换成空字符串达成’相减‘的目的。查看字符串的方法也可以找到的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-3-30 13:26:27 | 显示全部楼层
Hoiste 发表于 2020-3-30 12:03
这是自带的一个字符串的方法,string.replace('a','b')作用是可以把字符串string中所有的字符'a'替换成字符 ...

懂了 tks
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-8 07:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表