관심 1/Python
파이썬 디스크립터
give_me_true
2023. 7. 6. 20:08
디스크립터(Descriptor) : __get__(), __set__(), __delete()__ 를 정의하는 모든 객체를 부르는 이름
- 위 세가지 매직메서드가 어트리뷰트에 정의되면 디스크립터라고 부름
- 디스크립터를 구현하는 이유는 클래스 변수에 저장된 객체가 어트리뷰트 조회 중 발생하는 일을 제어
__get__(self, instance, owner) : 디스크립터가 1) 클래스에서 호출, 2) 인스턴스에서 호출
- instancle : 디스크립터를 호출한 객체
- owner : 해당 객체의 클래스
__set__(self, instance, value) : 디스크립터에 값을 할당하려고 할 때 호출
어렵다
ref. https://wikidocs.net/168363
ref. https://kukuta.tistory.com/339