有没有办法重载内置函数sum(),以便它可以在用户定义的iterable上工作?假设可以使用+添加iterable中的元素。例如字符串。
具体来说,我希望能够做到以下
S = StrListIterable([<list of strings>])
concatedList = sum(S) # returns a concatenated string of all strings in S
显然我可以在S的元素上使用简单的连接语句来实现这一点,但我想知道Python是否支持重载某些标准内置函数。
答案 0 :(得分:-1)
start
参数提供要添加的初始值。但是:
>>> L = ['foo', 'bar', 'baz']
>>> sum(L, '')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: sum() can't sum strings [use ''.join(seq) instead]
>>> ''.join(L)
'foobarbaz'