ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • python property 활용
    카테고리 없음 2021. 5. 19. 22:22

    getter : 값을 가져오는 method

    setter : 값을 저장하는 method

     

    예)

    class A:
        def __init__(self):
            self.__num = 0
     
        def get_value(self): # getter
            return self.__num
        
        def set_value(self, num): # setter
            self.__num = num
     
    a = A()
    a.set_value(3)
    print(a.get_value())

     

    property를 활용하면 getter와 setter를 간단히 구현할 수 있다.

     

    # case 1 : 내장함수 사용 property()
    
    class A:
        def __init__(self):
            self._num = 0
     
        def _get_value(self): # getter
            return self._num
        
        def _set_value(self, num): # setter
            self._num = num
        
        num = property(_get_value, _set_value)
     
    a = A()
    print(a.num) # 출력 : 0
    a.num = 10
    print(a.num) # 출력 : 10
    # case 2 : @property 사용
    
    class A:
        def __init__(self):
            self._num = 0
     	
        @property
        def get_value(self): # getter
            return self._num
        
        # @get_value.setter
        # def set_value(self, num): # setter
        #     self._num = num
     
    a = A()
    print(a._num) # 출력 : 0
    # print(a.num) # error : 아직 setter로 값을 저장하지 않아서 class A의 변수 불러옴
    a.num = 10
    print(a.num) # 출력 : 10

     

Designed by Tistory.