728x90
python의 클래스에서 getter, setter를 사용할 수 있도록 도와주는 역할을 합니다.
class Person:
def __init__(self, first_name, last_name, age):
self.first_name = first_name
self.last_name = last_name
self.__age = age
@property
def age(self):
return self.__age
@age.setter
def age(self, age):
if age < 0:
raise ValueError("Invalid age")
self.__age = age
# getter, setter 테스트
person = Person()
print(person.age)
person.age = 100
print(person.age)
변수명 앞에 __ 가 앞에 있으면 private, _ 는 protected를 의미합니다. 이중 "__"가 붙어 있으면 해당 변수를 get과 set을 할 수 없습니다.
참고
https://nowonbun.tistory.com/660
728x90
'파이썬(Python)' 카테고리의 다른 글
Jupyter notebook에서 font size 변경하기 (0) | 2021.12.29 |
---|---|
pytest에서 sys.argv 값 지정하기 (0) | 2021.10.22 |
python의dataclass (0) | 2021.10.22 |
[파이썬으로 살펴보는 아키텍처 패턴] 00. 도입 (0) | 2021.10.21 |
jupyter notebook에서 저장할 때 forbidden 에러가 발생하는 경우 (0) | 2021.06.16 |