
Друзья, давайте обсудим интересное поведение операторов
С помощью оператора
С другой стороны, используя оператор
Это не баг — это просто особенность, которую нужно знать. Сам Гвидо (создатель языка Python) сказал, что ему не нравится такое несимметричное поведение операторов
Исходный код типа данных
#полезныйматериал
+
и +=
при работе со списками.С помощью оператора
+
мы можем соединять (конкатенировать) только списки. Мы не можем к списку прибавить произвольный итерируемый объект (кортеж, строку и т.д).С другой стороны, используя оператор
+=
, мы можем добавлять в список значения из любого итерируемого объекта. По сути, оператор +=
для списков преобразуется в вызов списочного метода extend()
, который, как мы знаем, работает с любым итерируемым объектом.Это не баг — это просто особенность, которую нужно знать. Сам Гвидо (создатель языка Python) сказал, что ему не нравится такое несимметричное поведение операторов
+
и +=
и он хотел бы его изменить, но не будет этого делать из-за обратной совместимости.Исходный код типа данных
list
доступен по ссылке, он написан на С++. 🤠#полезныйматериал