sum()
函數只能使用數字,而不能使用字符串。爲什麼Python builin sum()函數不支持字符串?
int_lst = [1, 2]
sum(int_lst)
=> 3
str_lst = ['a', 'b']
sum(str_lst)
Traceback (most recent call last):
File "python", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'str'
我發現這種行爲奇怪,因爲sum()
功能僅僅是一個做多reduce(lambda i, sum:i+sum)
Python的方式。並減少讓我來concincate字符串,並且sum()
不。
From python documentation for sum()
可迭代的項目是正常的數字,並開始值不 允許爲一個字符串。
那麼爲什麼?
OOP教我們做多形性的東西,因爲它的靈活性。
可能重複[Python總和,爲什麼不是字符串?](https://stackoverflow.com/questions/3525359/python-sum-why-not-strings) – 2017-11-15 17:14:42