Book/전문가를 위한 파이썬

[전문가를 위한 파이썬 ] 1장 파이썬 데이터 모델

쟈누이 2020. 8. 25. 10:08
반응형

특별 메서드는 내가 구현한 객체가 다음과 같은 기본적인 언어 구조체를 구현하고

지원하고 사용할수 있게 해준다

 

- 반복

- 컬렉션

- 속성 접근 

- 연산자 오버로딩

- 함수 및 메서드 호출

- 객체 생성 및 제거

- 문자열 표현 및 포맷

- 블록 등 콘텍스트 관리

 

특별 메서드에 대해서 참고해볼 수 있는 __getitem__ 메서드

- 슬라이싱을 쉽게할 수 있도록 도와준다

https://jinmay.github.io/2019/11/26/python/python-instance-slice/

 

[파이썬]객체 슬라이싱과 __getitem__

파이썬의 리스트와 튜플에 를 이용해서 슬라이싱을 해보았을 것이다. 뿐만 아니라 리스트처럼 클래스의 인스턴스 자체도 슬라이싱을 할 수 있도록 만들 수 있다. 이때에 필요한 속성이 __getitem__

jinmay.github.io

특별 메서드는 어떻게 사용되나?

특별 메서드는 파이썬 인터프리터가 메서드를 호출하기 위해 사용되는 것임.

일반적으로 우리가 코드에서 특별 메서드를 직접 호출하는 경우는 많지 않음

우리가 자주 사용하는 특별 메서드는 

__init( ) 함수

 

특별 메서드를 호출해야되는 경우는 일반적으로 len( ) , iter( ), str( )  등 관련된 내장 함수를 호출하는 것이 좋다. 

이러한 내장함수가 해당 특별 메서드를 호출하때문..

 

문자열 표현 메서드

- __repr__( ), __str__( )  등이 존재

자주 사용되는 특별 메서드 중 하나인 str( ) 과 repr( ) 의 차이점 공부

http://bit.ly/1Vm7j1N

 

Difference between __str__ and __repr__?

What is the difference between __str__ and __repr__ in Python?

stackoverflow.com

수리 표현 메서드

- __add__( ), __mul( )__ 등이 존재

__add__( ) 는 ' + ' 연산자

 __mul( )__ 은 ' * ' 연산자

 

사용자 정의형의 불리언 값

파이썬에도 bool 형은 존재하지만, if 나 while 문, 혹은 and, or, not 에 대한 피연산자로서 bool 형이 필요한 곳에 어떠한 객채라도 사용 가능

참, 거짓을 판단하기 위해 bool(x) 를 적용하며, 이 함수는 항상 True, False 를 반환

bool(x) 는 x.__bool__( ) 을 호출한 결과를 이용. 

 x.__bool__( )을 구현되지 않을 시, x.__len( )__ 을 호출하여 이 매서드가 0을 반환하면 False, 그렇지 않으면 True 반환

 

특별 메서드 개요

 

반응형