티스토리 뷰

참조: http://hamait.tistory.com/827


Python에서는 Protected와 Private에 대한 개념이 없다.


그래서 __변수명(private), _변수명(protected)와 같은 방식으로 개발자끼리 약속하여 변수명을 지정한다.


그러다보니 변수값 설정할 때, 특정 범위를 넘어가면 에러가 발생하도록 처리할 수 없을 것이다.


이를 구현하기 위한 것이 @Property 이다.


아래와 같은 방식으로 구현하여 특정 변수값에 제한을 둔다.

class Celsius:
def __init__(self):
pass
def to_fahrenheit(self):
return (self._temperature * 1.8) + 32

@property
def temperature(self):
print("Getting value")
return self._temperature

@temperature.setter
def temperature(self, value):
if value < -273:
raise ValueError("Temperature below -273 is not possible")
print("Setting value")
self._temperature = value


댓글
공지사항
최근에 올라온 글
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함