鱼C论坛

 找回密码
 立即注册
查看: 1314|回复: 2

[已解决]课后作业42讲

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

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

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

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


代码中 self.replace(other, '') 是什么意思呢?



还有
class Nstr(str):
    def __lshift__(self, other):
        return self[other:] + self[:other]

    def __rshift__(self, other):
        return self[-other:] + self[:-other]


代码中return self[other:] + self[:other]  为啥不是self.[other:]呢??


求大神帮忙!!!!!
最佳答案
2020-11-18 19:55:00


代码中 self.replace(other, '') 是什么意思呢?


这里 __sub__ 的self 指的就是 减号左边的数据,other 指的是 - 号右边的数据,举个例子

a = Nstr('I Love FiiishC!')
b = Nstr('i')
a - b    # 这里 a 指的就是 __sub__ 的 self ,而 b 指的就是 other

那么此时执行 self.replace(other, '')  意思就是执行 'I Love FiiishC!'.replace('i', '')

replace 函数将字符串进行替换,即这里就是将   'I Love FiiishC!' 中的 i 替换成 空字符串

代码中return self[other:] + self[:other]  为啥不是self.[other:]呢??


没有这种用法,切片只有直接紧跟变量名的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-11-18 19:55:00 | 显示全部楼层    本楼为最佳答案   


代码中 self.replace(other, '') 是什么意思呢?


这里 __sub__ 的self 指的就是 减号左边的数据,other 指的是 - 号右边的数据,举个例子

a = Nstr('I Love FiiishC!')
b = Nstr('i')
a - b    # 这里 a 指的就是 __sub__ 的 self ,而 b 指的就是 other

那么此时执行 self.replace(other, '')  意思就是执行 'I Love FiiishC!'.replace('i', '')

replace 函数将字符串进行替换,即这里就是将   'I Love FiiishC!' 中的 i 替换成 空字符串

代码中return self[other:] + self[:other]  为啥不是self.[other:]呢??


没有这种用法,切片只有直接紧跟变量名的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-19 09:36:21 | 显示全部楼层
Twilight6 发表于 2020-11-18 19:55
这里 __sub__ 的self 指的就是 减号左边的数据,other 指的是 - 号右边的数据,举个例子

a = Ns ...

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-1 09:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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