데코레이터의 주요 작업은 기존 코드에 기능을 추가
하는 데 사용됩니다. 프로그램의 일부가 컴파일 시간에 프로그램의 다른 부분을 수정하려고 할 때 메타프로그래밍
이라고도 합니다.
property() 메서드를 사용하여 클라이언트 코드에 필요한 변경 없이 클래스를 수정하고 값 제약 조건을 구현할 수 있습니다. 구현이 이전 버전과 호환되도록 합니다.
# Python program to explain property()
# function using decorator
class Alphabet:
def __init__(self, value):
self._value = value
# getting the values
@property
def value(self):
print('Getting value')
return self._value
# setting the values
@value.setter
def value(self, value):
print('Setting value to ' + value)
self._value = value
# deleting the values
@value.deleter
def value(self):
print('Deleting value')
del self._value
# passing the value
x = Alphabet('Peter')
print(x.value)
x.value = 'Diesel'
del x.value