Python property() 내장 함수

Python 3 설명서에서 발췌

속성 (property) 속성을 반환합니다.

소개

property() 함수는 속성 (property) 속성을 만드는 데 사용됩니다. 속성 속성은 getter, setter 및 delete 메서드를 갖는 특별한 종류의 속성입니다. 이를 통해 속성 값의 가져오기, 설정 또는 삭제에 로직을 추가할 수 있습니다.

property()를 사용하는 더 편리한 방법인 @property 데코레이터를 사용하는 것이 더 일반적입니다.

예시

다음은 property()를 사용하여 읽기 전용 속성을 만드는 예시입니다.

class Person:
    def __init__(self, name):
        self._name = name

    def get_name(self):
        print("Getting name")
        return self._name

    # 속성 생성
    name = property(get_name)

p = Person("John")
print(p.name)  # 이것은 get_name() 을 호출합니다
Getting name
John

참고: p.name = "Jane"은 setter 가 없으므로 AttributeError 가 발생합니다.

다음은 @property 데코레이터를 사용하여 이 작업을 수행하는 더 일반적인 방법입니다.

class Person:
    def __init__(self, name):
        self._name = name

    @property
    def name(self):
        print("Getting name")
        return self._name

p = Person("John")
print(p.name)
Getting name
John

관련 링크