Для начала я упростил ваш класс следующим образом.Здесь a
, переменная класса, упоминается внутри функций класса с использованием abc.a
.На a
, которая является переменной экземпляра, ссылаются, используя self.a
class abc:
a=5
def __init__(self,a):
self.a=a
def set(self, class_a, instance_a):
abc.a=class_a
self.a=instance_a
def read(self):
print(abc.a)
print(self.a)
Затем мы начинаем с определения класса и пытаемся прочитать обе переменные.Переменная класса по-прежнему равна 5, а переменная экземпляра равна 20
b=abc(20)
b.read()
#5
#20
Затем я устанавливаю переменную класса и экземпляра a
и пытаюсь их прочитать.Переменная класса изменяется на 30, а переменная экземпляра изменяется на 60
b.set(30, 60)
b.read()
#30
#60
Мы также можем напрямую обращаться к обеим переменным вне класса, используя instance_object.a
для переменной экземпляра и ClassName.a
для переменной класса.
print(b.a)
#30
print(abc.a)
#60