@property
클래스 내 메소드를 특성처럼 사용하기 위해 해당 메소드 위에 넣는 것
Getter
: 데이터를 읽어주는 매서드
Setter
: 데이터를 변경해주는 매서드
@property를 사용하는 목적
- 변수의 제어 기능
- getter 함수를 대신 용이하게 사용
Python with @property, 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 full_name(self):
return self.first_name + ' ' + self.last_name
@full_name.setter
def full_name(self, new_full_name):
first_name, last_name = new_full_name.split()
self.first_name = first_name
self.last_name = last_name
wow = Person('w', 'ow', 20)
print(wow.first_name)
print(wow.last_name)
print(wow.full_name)
print(wow.age)
wow.age = 30
wow.first_name = 'wow2'
print(wow.first_name)
print(wow.last_name)
print(wow.full_name)
print(wow.age)
'파이썬프로그래밍' 카테고리의 다른 글
HTML & CSS, DOM, Web Scraping (0) | 2021.08.31 |
---|---|
파이썬 - 싱글언더스코어, 더블언더스코어 (0) | 2021.08.31 |
파이썬 - 디버깅편(Pdb, breakpoint( )) (2) | 2021.08.30 |
FLASK 정리_GET_POST (0) | 2021.08.02 |
try, except, raise, finally (0) | 2021.07.29 |