Python property decorator (variable encapsulation)

python의 class에서 변수를 캡슐화 하기위해서 setter와 getter를 선언하여 사용하는 경우가 많은데,
매번 함수 호출을 이용해야 한다는 불편한 점이 있다.
이를 python에서 제공하는 property decorator를 이용하여 setter와 getter를 손쉽게 사용하도록 구현 할 수 있다.
또한 readonly(const) variable 기능을 제공하는 class를 생성 할 수도 있다.
Sample Code
class MyClass:
    def __init__(self):
        self.__value = 0
  
    # value getter
    @property
    def value(self):
        return self.__value
  
    # value setter
    @value.setter
    def value(self, value):
        self.__value = value
  
>>> cls = MyClass()
>>> print(cls.value)
0
>>> cls.value = 123
>>> print(cls.value)
123
>>> cls.value = 234
>>> print(cls.value)
234
>>> cls.__value = 999
>>> print(cls.value)
234

댓글

이 블로그의 인기 게시물

레알팜 제조 수익 계산기

레알리 야구대회 도우미