객체지향 언어인 파이썬은 모든 데이터들을 객체로 표현하거나 객체 사이의 관계로 표현합니다.
여기서 객체 각각의 표현이나 관계를 쉽게 하기 위해 특별한 Built-in 함수들을 사용할 수 있는데 그것들이 특별 메소드(Special Method)라는 이름이 붙은 언더스코어(_) 2개짜리 더블 언더스코어 메소드입니다.
개발자 corikachu님 블로그
https://corikachu.github.io/articles/python/python-magic-method
이 글에서는 더블 언더스코어 메소드 중 객체의 표현을 위한 __repr__에 대해 알아보려고 합니다.
__repr__(self) : 객체를 나타내는 공식적인 문자열로 repr()로 호출할 수 있습니다.
아래 예시 코드를 보겠습니다.
class repr_test : __repr__ 가 있는 객체
class repr_test2 : __rerpr__ 가 없는 객체
repr_test를 상속받은 인스턴스 a와 repr_test2를 상속받은 인스턴스 b를 print로 출력했을 때 다른 결과가 나오는 것을 볼 수 있습니다.
class repr_test:
def __init__(self,a,b):
self.x = a
self.y = b
def __repr__(self):
return "repr_test"
def test_sum(self):
return self.x + self.y
a = repr_test(10,100)
print(a)
class repr_test2:
def __init__(self,a,b):
self.x = a
self.y = b
# def __repr__(self):
# return "repr_test"
def test_sum(self):
return self.x + self.y
b = repr_test2(10,100)
print(b)
[좌표를 주소로 변환하기(Python)] 카카오, 네이버 API 사용법, 지오코딩(Geocoding) (8) | 2020.03.25 |
---|---|
[Python] 텍스트로 된 숫자(파일명) 정렬하기 natsort 라이브러리 활용 (1) | 2020.03.06 |
Python으로 CSV(Comma Separated Values) 파일 읽는 방법 with csv, pandas (0) | 2020.01.23 |
Python으로 CSV파일 읽기, 내용 덧붙이기 (3) | 2019.12.06 |
[Python] Iterator를 이용한 while loop (0) | 2019.12.04 |