Форум сайта python.su
Здравствуйте.
У нас есть класс
class A: foo = 1 @classmethod def change_foo(cls, value): cls.foo = value
a = A() b = A() c = A()
a.foo = 2
a.change_foo(3)
b.change_foo(3)
A.change_foo(3)
Офлайн
a.foo = 2
Отредактировано Egorro13 (Апрель 29, 2019 18:08:14)
Офлайн
AIPПотому что объекты b и c всё ещё используют переменную класса A, а объект a с самого начала использует переменную экземпляра a. Когда ты присвоил a.foo значение, это имя отвязалось от класса и привязалось к экземпляру.
Почему это происходит?
Отредактировано py.user.next (Апрель 30, 2019 02:50:11)
Офлайн