336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

property의 delete는 해당 속성이 삭제가 될때 호출이 된다.


* del 은 객체를 삭제하는 명령이 아니라 레퍼런스를 삭제하는 명령이다

  그러면 언제 객체가 소멸되나?

  객체를 참조하는 레퍼런스가 업으면 가비지 컬렉터에 의해서 소멸된다. (왠지 shared pointer랑 비슷)


1. 데코레이터에서 delete

 
'''
  class C(object):
      @property
      def x(self):
          "I am the 'x' property."
          return self._x
      @x.setter
      def x(self, value):
          self._x = value
      @x.deleter
      def x(self):
          del self._x
'''

class Car:
    def __init(self):
        self._price = 0
        self._speed = 0
        self._color = None
        
    @property
    def price(self):
        return self._price
    
    @price.setter
    def price(self, value):
        self._price = value
        
    @price.deleter
    def price(self):
        print('delete price')
        del self._price

if __name__ == '__main__':
    my_car = Car()
    my_car.price = 2000

    print("price:", my_car.price)
    
    del my_car.price
    #print("price:", my_car.price)





2. property class에서 delete




블로그 이미지

뚱땡이 우주인

,