행궁동 데이터 엔지니어

반응형

객체지향 언어인 파이썬은 모든 데이터들을 객체로 표현하거나 객체 사이의 관계로 표현합니다.

여기서 객체 각각의 표현이나 관계를 쉽게 하기 위해 특별한 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로 출력했을 때 다른 결과가 나오는 것을 볼 수 있습니다.

 

Jupyter notebook 스크린샷

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)

 

반응형

이 글을 공유합시다

facebook twitter kakaoTalk kakaostory naver band