为了账号安全,请及时绑定邮箱和手机立即绑定

类:添加len()的另一种方法

类:添加len()的另一种方法

缥缈止盈 2021-03-27 08:15:28
我正在构建一个行为类似于常规字符串类的字符串类,除了加法运算符返回两个字符串的长度之和而不是将它们串联在一起。然后,一个乘法运算符返回两个字符串的长度的乘积。所以我打算做   class myStr(string):         def __add__(self):             return len(string) + len (input)至少这是我在第一部分中所拥有的,但这显然是不正确的。有人可以帮我改正吗。
查看完整描述

2 回答

?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

您需要从派生str,并且可以len(self)用来获取当前实例的长度。您还需要为运算符__add__的另一个操作数指定一个参数+。


class myStr(str):

    def __add__(self, other):

        return len(self) + len(other)

演示:


>>> class myStr(str):

...     def __add__(self, other):

...         return len(self) + len(other)

... 

>>> foo = myStr('foo')

>>> foo

'foo'

>>> foo + 'bar'

6


查看完整回答
反对 回复 2021-03-30
  • 2 回答
  • 0 关注
  • 177 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号