Недавно я заметил несогласованность при объединении списков.
Поэтому, если я использую оператор +, он не объединяет список с каким-либо объектом другого типа. Например,
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]
Так это просто семантика языка или какая-то другая причина?