728x90

007. str과 repr 차이

 

 

 

여러 자료 찾아보다가 그나마 이해가 잘되는 분의 글을 기억할려고 캡쳐해뒀는데 누구인지까지 캡쳐가 안되서 작성자분 보시면 양해부탁드립니다ㅠㅜ

 

__str__과 __repr__

배우던 도중 퀘스쳔 마크가 뜬 것과 위의 둘이 관련이 있어서 찾아찾아보게되었다

사실 이 글을 쓰는 지금도 정확히 파이썬에서 어떻게 어우려서 작동하는지 완전히 이해하지 못했다

앞으로도 계속 배울꺼지만 일단 잊지않게 복습해둔다

 

간단하게 둘은 메소드(method)이며,

__str__ : 사람이 보기(인식) 쉽게 출력하는 방법 // 객체의 비공식적 문자열 출력

__repr__ : 컴퓨터가 인식할 수 있게 출력하는 방법 // 객체의 공식적 문자열 출력

 

주피터를 쓰면서 변수명을 그냥 적으면 print()를 쓰지 않아도 결과값이 출력이 되는데

위의 이미지처럼 결과 값이 다르다

그래서 다시 한번 관심을 갖게 되었는데 이번에 새로 알게 된 것은, 

 

변수명만 선언한 것이 __repr__이고, 주피터에서 자동으로 이렇게 한다고 한다.

print() 함수를 사용한게 __str__이다.

 

 

 

 

datetime 모듈을 써보다가 __repr__ 과 __str__의 출력 차이가 모듈에서 이렇게 날 줄 몰랐다...ㄷㄷ

차차 더 깊은 이해를 위해 나올 때마다 찾아보고 물어봐야겠다

아직은 찾아보다가 이해도 다 안되고 번아웃 될 것 같아서 패스

 

*프로그램에서 편의를 위해 자동적으로 이것저것 해주는 것만큼 왜 그런지 작동 원리를 알고,

더 내 수족처럼 사용할 수 있게 정진해야겠다!!!

 

728x90
반응형

+ Recent posts