Я играю со свойством в Python, и мне было интересно, как работает этот декоратор @ propertyName.deleter. Я, наверное, что-то упустил, я не смог найти четких ответов от Google.
Чего я хотел бы добиться, так это когда средство удаления вызывается, я могу запускать другие действия (например, используя мой SDK для 3D-приложения).
На данный момент простое print () не срабатывает.
Когда *1001* del (instance.property) ?
срабатывает, удаляется
deleter
Иначе, как мне этого добиться?
class M():
def __init__(self):
self._m = None
@property
def mmm(self):
return self._m
@mmm.setter
def mmm(self, val):
self._m = val
@mmm.deleter
def mmm(self):
print('deleting') # Not printing
del(self._m)
if __name__ == '__main__':
i = M()
i.mmm = 150
print(i.mmm)
del(i.mmm)
print(i.mmm)
Большое спасибо (: