S(
Size: a a a
S(
S(
S(
x += y
— это не то же самое, что и x = x + y
.+=
отвечает магический метод __iadd__
, который уже можно определить любым способом. Даже в стандартных типах __iadd__
не всегда соответствует self = self + other
. Простой пример:a = [1, 2, 3]
b = a
a = a + [4, 5, 6]
print(b)
# [1, 2, 3]
a = [1, 2, 3]
b = a
a += [4, 5, 6]
print(b)
# [1, 2, 3, 4, 5, 6]
a
значение нового списка, а во втором просто "присоединяем" список к a
.+
. Кроме __iadd__
есть аналогичные методы __isub__
для -=
, __ipow__
для **=
и так далее.S(
S(
i
i
<
i
i
<
О
О
ы
ы
i
i
i