猿问

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

我正在构建一个行为类似于常规字符串类的字符串类,除了加法运算符返回两个字符串的长度之和而不是将它们串联在一起。然后,一个乘法运算符返回两个字符串的长度的乘积。所以我打算做


   class myStr(string):

         def __add__(self):

             return len(string) + len (input)

至少这是我在第一部分中所拥有的,但这显然是不正确的。有人可以帮我改正吗。


缥缈止盈
浏览 178回答 2
2回答

qq_花开花谢_0

您需要从派生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
随时随地看视频慕课网APP

相关分类

Python
我要回答