파이썬에서는 getter와 setter를 쓰는것을 권장하지 않는다 대신 @property와 @setter키워드가 존재한다.
p.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
class Mung(object):
def __init__(self):
self._mung = 1
def get_mung(self):
return self._mung
def set_mung(self, value):
self._mung = value
mung = Mung()
print(mung.get_mung())
mung.set_mung(10)
print(mung.get_mung())
| cs |
$python p.py
>>> 1
10
기존의 getter와 setter를 쓴다면 위와 같이 사용을 할 것이다.
근데 파이썬에서는 위처럼 쓰는 코드를 권장하지 않는다.
p.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
class Mung(object):
def __init__(self):
self._mung = 1
@property
def mung(self):
return self._mung
@mung.setter
def mung(self, value):
self._mung = value
mung = Mung()
print(mung.mung)
mung.mung=10
print(mung.mung)
| cs |
$python p.py
>>> 1
10
결과는 똑같다.
근데 사용하는데 있어서 좀더 직관적으로 바뀌었다.
댓글
댓글 쓰기