Language/python
python 데코레이터 @property
짧은하루
2021. 9. 13. 19:32
python에서 @property를 사용하면 getter, setter를 간단하게 구현할 수 있습니다.
클래스에서 속성을 불러오는 메소드를 getter, 속성을 설정하는 메소드를 setter라고 부릅니다.
getter 메소드와 setter 메소드
class Person:
def __init__(self):
self.__tall = 155
def get_tall(self): # getter
return self.__tall
def set_tall(self, value): # setter
self.__tall = value
yuri = Person()
yuri.set_tall(160)
print(yuri.get_tall())
@property를 이용한 getter, setter
class Person:
def __init__(self):
self.__tall = 155
@property
def tall(self): # getter
return self.__tall
@tall.setter
def tall(self, value): # setter
self.__tall = value
yuri = Person()
yuri.tall = 160
print(yuri.tall())
getter는 @property, setter는 @메소드명.setter로 구현합니다.
특히, 메소드 이름이 같다는 특징을 가지고 있는데 이로 인해 값을 설정할 때도 yuri.tall = 160,
값을 가져올 때도 yuri.tall로 가져올 수 있는 장점이 있습니다.
반응형