Конкатенация с использованием операторов + и + = в Python [duplicate]

На этот вопрос уже есть ответ:

В последнее время у меня есть заметил несогласованность при объединении списков.

Поэтому, если я использую оператор + , он не объединяет список с каким-либо объектом другого типа. Например,

l = [1,2,3]
l = l + (4,5)        #TypeError: can only concatenate list (not "tuple") to list

Но, если я использую оператор + = , он пренебрегает типом объекта. Например,

l = [1,2,3]
l += "he"            #Here, l becomes [1, 2, 3,"h", "e"]

l += (56, 67)        #Here, l becomes [1, 2, 3,"h", "e", 56, 67]

Итак, это просто семантика языка или какая-то другая причина?

38
задан Peter Mortensen 16 July 2019 в 22:09
поделиться