鱼C论坛

 找回密码
 立即注册
查看: 2034|回复: 4

[已解决]【第41讲】视频内容

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

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

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

x
本帖最后由 xiaofan1228 于 2020-3-3 14:37 编辑
  1. #小甲鱼视频教程原文
  2. class CapStr(str):
  3.     def __new__(cls, string):
  4.         string = string.upper()
  5.         return str.__new__(cls, string)
  6. #最后一行用return string 结果是一样的,意义一样吗?
复制代码

最佳答案
2020-3-3 15:01:17
xiaofan1228 发表于 2020-3-3 14:56
那这一讲的课后题答案岂不是也有问题了?
要求定义一个 Nstr 类,支持字符串的相减操作:A – B,从 A  ...

是的,这样会更好:

  1. >>> class Nstr(str):
  2.     def __sub__(self, other):
  3.         return Nstr(self.replace(other, ''))

  4. >>> a = Nstr('123456') - Nstr('1234')
  5. >>> type(a)
  6. <class '__main__.Nstr'>
  7. >>> a
  8. '56'
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-3-3 14:41:44 | 显示全部楼层
当然不一样(type 不一样)

  1. >>> class CapStr(str):
  2.     def __new__(cls, string):
  3.         string = string.upper()
  4.         return str.__new__(cls, string)

  5. >>> type(CapStr('1'))
  6. <class '__main__.CapStr'>
  7. >>> class CapStr(str):
  8.     def __new__(cls, string):
  9.         string = string.upper()
  10.         return string     # 替换成 return string

  11. >>> type(CapStr('1'))
  12. <class 'str'>
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-3 14:56:25 | 显示全部楼层
zltzlt 发表于 2020-3-3 14:41
当然不一样(type 不一样)

那这一讲的课后题答案岂不是也有问题了?
要求定义一个 Nstr 类,支持字符串的相减操作:A – B,从 A 中去除所有 B 的子字符串。
这样返回的type还是 str
  1. class Nstr(str):
  2.     def __sub__(self, other):
  3.         return self.replace(other, '')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-3 15:01:17 | 显示全部楼层    本楼为最佳答案   
xiaofan1228 发表于 2020-3-3 14:56
那这一讲的课后题答案岂不是也有问题了?
要求定义一个 Nstr 类,支持字符串的相减操作:A – B,从 A  ...

是的,这样会更好:

  1. >>> class Nstr(str):
  2.     def __sub__(self, other):
  3.         return Nstr(self.replace(other, ''))

  4. >>> a = Nstr('123456') - Nstr('1234')
  5. >>> type(a)
  6. <class '__main__.Nstr'>
  7. >>> a
  8. '56'
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-3 15:08:22 | 显示全部楼层
zltzlt 发表于 2020-3-3 15:01
是的,这样会更好:

学习了,感谢!!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-1 11:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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