내가 보려고 만든 블로그

<파이썬> Magic Method 란? 본문

Python | Web/Python

<파이썬> Magic Method 란?

정의김 2021. 7. 18. 19:35

 파이썬의 메소드중 __{name}__ 과 같이  " __ " 이 양 옆에 붙어 있는 메소드의 경우 특별한 역할을 가진다. 

이러한 메소드들을 magic method 라고 한다.

가장 대표적인 magic method 라고 한다면 __init__ 이 있다.

__init__은 클래스를 통해 객체화 할 때 자동으로 호출되도록 한다.

그 외에 자주 보이는 혹은 무의식적을 사용하고 있었던 메소드들.

__add__ :

우리가 1+1 를 통해 2가 나오게 된 것은  "+" 라는 기호를 쓸때 __add__ 라는 매직메소드가 호출 되어 두 객체를 더해준 덕분이다.

 

__call__ :

우리가 함수를 호출한다고 알고 있었던 function() 에서의  "()" 는 사실 __call__ 이라는 매직메소드를 호출 시킨 것이다.

 

__getattribute__ :

객체를 생성 후 object.attribute 와 같이 속성을 확인할 때 사용하던  " . " 는 __getattribute__ 라는 매직메소드를 호출 시킨 것이다.

 

 

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

<파이썬> Descriptor  (0) 2021.08.08
<파이썬> Property  (0) 2021.08.08
< 파이썬 > Generator 란  (0) 2021.08.01
<파이썬> 클래스의 상속과 super 에 대하여  (0) 2021.07.11
<파이썬> 메타 클래스( Meta Class) 란?  (0) 2021.07.03