파이썬프로그래밍
파이썬 @property, getter, setter
ROSEV
2021. 7. 15. 20:15
@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)