지금까지 설명한 디스크립터의 특징을 정리해 보자. 디스크립터를 사용할 때 고려해야 할 사항
은 다음과 같다.
코드를 간결하게 유지하기 위해
property()
를 사용하라.
property()
내장 함수는 세터 메서드를 정의하지 않는 경우에도
__set__()
과
__get__
()
메서드를 모두 구현하는 오버라이딩 디스크립터를 생성한다.
7
프로퍼티의 기본
__
set__()
메서드는
‘AttributeError: can’t set attribute’
예외를 발생시키므로, 프
로퍼티는 읽기 전용 속성을 만드는 가장 간단한 방법이다(디스크립터는 다음 항목에서 설
명하는 문제가 있다).
읽기 전용 디스크립터는
__set__()
을 구현해야 한다.
디스크립터 클래스를 이용해 읽기 전용 속성을 구현하려면
__get__()
과
__set__()
메
서드를 모두 구현해야 한다. 그렇지 않으면 인스턴스에 동일한 이름의 속성이 있을 때 디
스크립터가 가려진다. 읽기 전용 속성의
__set__()
메서드는 적절한 메시지를 담아
AttributeError
를 발생시켜야 한다.
8
검증 디스크립터는
__set__()
만 사용할 수 있다.
검증용으로 만들어진 디스크립터는
__set__()
메서드만 이용해 값의 정당성을 검증하고, ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.