막힘없이 Python(파이썬) 하기 : 파이썬 데이터 모델과 특별메서드의 개념

2023. 4. 23. 00:25Python is Free/Fluent Python

특정한 성질이 있다는 어휘를 '-스럽다'라고도 하죠.

파이썬의 특징도 파이썬스럽다(pythonic)라고 할 수 있겠네요.

놀랍게도, '파이썬스러움'은 단 몇 줄의 코드로 요약이 가능하다고 합니다.

lst = ['RStudio', 'VScode', 'PyCharm', 'Git']

lst.len()
len(lst)


객체지향언어는 통상 lst.len()처럼만 사용할 수 있지만,
파이썬은 len(lst)도 가능합니다. 파이썬스럽기 때문이죠.

이게 가능한 이유는 무엇이냐?

 

바로 파이썬 데이터 모델이라는 기능 덕분이라고 합니다!


파이썬 데이터 모델과 특별메서드

파이썬 데이터 모델이란 파이썬을 프레임워크로 보는 관점에서 생긴 개념인데요.
프레임워크란 개발자가 코드를 생성하거나 유지관리를 하는 과정에서, 효과적인 개발을 돕는 도구입니다.
예를 들면, Pytorch는 DeepLearning 모델을 개발하는 데 유용한 프레임워크죠.

파이썬에선 주로 클래스(Class)를 정의해서 개발하죠.

list.__getitem__

이 관점에서, 특별 메서드(매직 메서드라고도 함)라는 기본 개념 하나를 약속해봐요.

 

__getitem__은 '던더 getitem'이라고 읽습니다.
두 개(더블)의 밑줄(언더바)가 있다는 뜻에서 던더라고 합니다.

특별 메서드를 다양하게 활용할수록, 파이썬의 장점은 두드러집니다.

구현시가 아니면, 사용자가 아니라 파이썬 인터프리터가 자동으로 특별메서드를 처리합니다.

예를 들면,  반복문의 경우 사람은 for를 사용할 때, 인터프리터가 자동으로 __iter__메서드를 사용합니다.


다음 글에서는 특별메서드의 활용을 이야기해보겠습니다.