__init__
에 생성되는 특정 attribute(변수)에 getter(가져오기), setter(업데이트), deleter(제거)의 함수기능을 가지는 property class로 묶어주는 역할을 한다.instance.funcName
instance.funcName
= value
del
instance.funcName
Property
class Person:
def __init__(self, name):
self._name = name
def getName(self):
print('Getting name')
return self._name
def setName(self, value):
print('Setting name to ' + value)
self._name = value
def delName(self):
print('Deleting name')
del self._name
# Set property to use getName, setName
# and delName methods
name = property(getName, setName, delName, 'Name property')
p = Person('Adam')
p.name
Getting name
'Adam'
p.name = 'John'
Setting name to John
del p.name
Deleting name
함수이름
은 변수이름과 같으며 return이름도 같게 한다.함수이름
.setter, 그 함수이름
은 변수이름과 같으며 return이름도 같게 한다.함수이름
.deleter, 그 함수이름
은 변수이름과 같으며 return이름도 같게 한다.class Person:
def __init__(self, name):
self._name = name
@property
def name(self):
print('Getting name')
return self._name
@name.setter
def name(self, value):
print('Setting name to ' + value)
self._name = value
@name.deleter
def name(self):
print('Deleting name')
del self._name
p = Person('Adam')
p.name
Getting name
'Adam'
p.name = 'John'
Setting name to John
del p.name
Deleting name