我正在構(gòu)建一個行為類似于常規(guī)字符串類的字符串類,除了加法運算符返回兩個字符串的長度之和而不是將它們串聯(lián)在一起。然后,一個乘法運算符返回兩個字符串的長度的乘積。所以我打算做 class myStr(string): def __add__(self): return len(string) + len (input)至少這是我在第一部分中所擁有的,但這顯然是不正確的。有人可以幫我改正嗎。
2 回答

qq_花開花謝_0
TA貢獻1835條經(jīng)驗 獲得超7個贊
您需要從派生str,并且可以len(self)用來獲取當(dāng)前實例的長度。您還需要為運算符__add__的另一個操作數(shù)指定一個參數(shù)+。
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
添加回答
舉報
0/150
提交
取消