Добрый день. Необходимо создать два объекта и сохранить значения. Класс Price содержит метод класса null, который присваивает 0 во все поля-дескрипторы объектов-владельцев. И при удалении значения из объекта-владельца (с помощью оператора del) удаляется и ссылка из класса Price на этот объект. Возникла сложность с тем, как обнулить. Как это сделать?
class Price(object):
def __init__(self):
self.instances = []
self.val = None
def __get__(self, obj, obj_type):
return self.val
def __set__(self, obj, val):
self.val = val
self.instances.append(obj) # можно ли так хранить ссылки на все объекты-владельцы? и как к ним обратиться из null()
def null(self):
pass
def __delete__(self, instance):
self.value = 'erased'
class Customer:
score = Price()
t1 = Customer()
t2 = Customer()
t1.score = 5 #5
t2.score = 10 #10
Price.null()
print(t1.score, t2.score) # 0 0