Из одного класса я создаю два объекта так
class qw:
a = [1, 2]
x = qw()
y = qw()
print(x.a, y.a)
x.a = x.a.append(3)
print(x.a, y.a)
В результате выполнения, получаю следующий вывод
[1, 2] [1, 2]
None [1, 2, 3]
Объясните пожалуйста почему выводится None, а затем результат успешного добавления?
Я понимаю так.
1. x, y это два отдельных объекта, созданных на основе общего класса
2. x, y это не примитивные классы типа '1' или 'a'. следовательно в случае разделяемых ссылок переменные, на них ссылающиеся, должны быть связаны таким образом, что при изменении одного списка, должен изменяться и второй тоже