관심 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