내가 보려고 만든 블로그

<파이썬> Descriptor 본문

Python | Web/Python

<파이썬> Descriptor

정의김 2021. 8. 8. 19:30

정의부터 말하자면 클래스 내에 __get__ , __set__ ,  __delete__  등의 매직메소드가 존재할때 이 클래스를 이용하여 생성한 객체를 디스크립터라고 한다. 그렇다면 __get__ ,__set__ , __delete__ 는 무슨 역할을 할까??

 

 

다음과 같이 3가지의 매직메소드를 가지고 있는 AGE 클래스를 선언하였다. 그리고 다음과 같이 이 클래스를 객체로 생성한 것을 포함하고 있는 Age_of_someone 클래스를 생성하였다.

 

 

1. __get__ 에 의하여 객체를 부르기만 하더라도 __get__ 메소드가 실행되는 것을 확인할 수 있다.

2. __set__ 에 의하여 = 을 통해 새로운 값을 할당할 경우 __set__ 이 실행됨을 알 수 있다.

3. __delete__ 에 의하여  del 이라는 키워드를 통해 __delete__이 실행됨을 알 수있다.

'Python | Web > Python' 카테고리의 다른 글

<Python> Socket 통신으로 간단한 채팅 프로그램 만들기  (0) 2022.07.13
<파이썬> Decorator 란?  (0) 2021.08.15
<파이썬> Property  (0) 2021.08.08
< 파이썬 > Generator 란  (0) 2021.08.01
<파이썬> Magic Method 란?  (0) 2021.07.18