Функция суммы здесь вызывает функцию
__iadd__():
, которая в основном является расширением
['a', 'b', 'c', 'd'].extend(['e'])
Это делается рекурсивно для массива с элементом [e] а затем для пустого массива [] Я надеюсь, что это устранит вашу путаницу.
__iadd__():
функция используется для реализации + операция
sum([['a', 'b', 'c', 'd'], ['e']],[])
эквивалентна
['a', 'b', 'c', 'd'] + ['e'] + []
.
Последний аргумент []
необходим, потому что сумма предполагает, что он равен 0, и мы не можем добавлять списки и целые числа .