По documentation: «Вообще говоря, переменные экземпляра данных, уникальных для каждого экземпляра и переменные класса предназначены для атрибутов и методов, разделяемых всеми экземплярами класса»Python переменные области видимости класса не в соответствии с документацией
>>> class Dog:
... kind='canine'
...
... def __init__(self, name):
... self.name = name
...
>>> d = Dog('Fido')
>>> e = Dog('Buddy')
>>> d.name
'Fido'
>>> e.name
'Buddy'
>>> d.kind
'canine'
>>> e.kind
'canine'
>>> d.kind='cat' # changed supposedly shared variable to cat
>>> d.kind # OK here
'cat'
>>> e.kind # Not expected output (should be cat as per documentation)
'canine'
Я что-то упускаю?
вы изменили его для объекта, изменение для одного объекта не отразится на всех объектах. Объект является экземпляром класса – Hackaholic
Это может быть не лучший выбор для «дублирования», но вопрос обычно возникает. –