Вы можете быть знакомы со сложным оператором в Python.
Для тех, кто этого не сделал. Они используются для сокращения выражений.
Пример
a = 2
Если мы хотим увеличить ценность А
К 1 нам нужно использовать ниже нотацию.
a = a + 1
Но с помощью составного оператора вы можете сделать это, как показано ниже.
a += 1
Что по существу равно A = A + 1
(ммм .. не всегда)
Есть некоторые случаи, которые не следуют этому выше правилу.
Пример
Рассмотрим ниже пример,
a = [1,2,3] b = a a += [4,5] # Compund operator print(a) print(b)
Это будет выводиться,
[1,2,3,4,5] [1,2,3,4,5]
Это то, что мы ожидали правильно? Теперь приходит поворот, теперь давайте попробуем без сложного оператора, и давайте увидим вывод.
a = [1,2,3] b = a a = a + [4,5] # Without compound operator print(a) print(b)
Это будет выводиться,
[1,2,3,4,5] [1,2,3]
Как вы можете видеть, вывод одинаков для списка А
Но список B
изменяет
В чем причина?
a += [4,5]
В приведенном выше случае список будет расширен. Итак, как мы присваиваем этот список в другой список, оба будут изменены.
Но, когда мы используем ниже метод. Это создает новый список и добавляет значения. Так что это не повлияет на список b
a = a + [4,5]
Оригинал: “https://dev.to/manitej/a-b-a-a-b-3hi4”