내가 보려고 만든 블로그
<파이썬> Descriptor 본문
정의부터 말하자면 클래스 내에 __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 |