-
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