Ben Python içinde mülkiyet ile uğraşıyorum ve bu @ propertyName.deleter dekoratör nasıl çalıştığını merak ediyorum. Muhtemelen bir şey kaçırıyorum, Google tarafından açık cevaplar bulamadım.delici dekoratör özelliğini kullanarak Python
Elde etmek istediğim, bu deleter davranışının çağrılmasıdır, diğer eylemleri tetikleyebilirim (örneğin: 3d uygulamasındaki SDK'yı kullanarak).
Şimdilik sadece basit bir baskı() tetiklenmiyor gibi görünüyor.
Ben del (instance.property)kullanarak tesisle sildiğinizde deleter ateş var mı?
Aksi halde bunu nasıl başarabilirim?
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)
çok (teşekkürler:
değil açık bir hata Python 3'te aynı davranışı elde edersiniz, teşekkürler hızlı cevap için. – Xavier