반응형
Python에서 가장 처음 느끼는 장점이나 특이한 점은 바로 특별 메소드 혹은 마술 메소드 또는 던더 메소드(Dunder, Double unber의 준말, 이하 던더 메소드)라고 불리우는 메소드라고 할 수 있겠다.
이 던더 메소드라는 것은 언더바(_) 두개로 감싼 함수를 의미하는데, Python에서 사전에 지정해 놓은 내장 함수를 사용자가 호출할 수 있다.일 예로 리스트의 개수를 계산해주는 len()라는 함수의 던더 메소드는 __len__() 이다.
일반적으로 일반 사용자가 이 던더 메소드를 직접 호출할 경우는 많지 않다.
그럼 여기에서 자주 사용되는 던더 메소드 예를 들어보도록 하겠다. __init__()는 클래스를 초기화하는 내장 함수이다. 아래는 5라는 값을 클래스에 넣을 경우 클래스 초기화 단계에 던더 메소드를 통해 +1을 해주는 아주 간단한 프로그램이다.
class Test:
def __init__(self, value=0):
self.value = value + 1
result = Test(5)
print(result)
이를 사용하여 클래스에 들어오는 값을 self를 이용해 사전에 조정을 할 수 있게 된다. __del__() 내장 함수를 호출해서 변수나 사용한 리소스등을 정리하는 것도 보다 효율적인 프로그램을 작성하는 방법이라 할 수 있겠다.
__init__
__del__
이외에도, 프로그램의 시작하는 함수인 __main__()도 자주 사용되는 던더 메소드라고 할 수 있다.
이 던더 메소스에 대해서 자세히 알고 싶다면, 아래 내용을 참고하면 도움이 될 것이다.
A Guide to Python's Magic Methods « rafekettler.com (rszalski.github.io)
반응형
'Python' 카테고리의 다른 글
Python - directory check and create (0) | 2022.05.09 |
---|---|
Python - List 추가 append/extend 이해 (0) | 2022.05.03 |
Python - List 에서 항목 조절/선택, 건너뛰기 (0) | 2022.04.28 |
Python - Free Proxy server 사용하기 (0) | 2022.04.27 |
Python - Pandas Dataframe 합치기/붙이기 concat (0) | 2022.04.22 |