짧은하루
python 데코레이터 @property 본문
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로 가져올 수 있는 장점이 있습니다.
반응형
'Language > python' 카테고리의 다른 글
파이참(Pycharm) 코딩 스타일 적용하기 (구글 스타일) (0) | 2021.09.14 |
---|---|
python 환경 변수 설정 (os.environ) (0) | 2021.09.14 |
python __file__ , 경로 반환하기 (0) | 2021.09.13 |
python 접근제한자 (__, _ 언더 스코어 의미) (0) | 2021.08.31 |
pip 란? (0) | 2020.10.11 |
Comments