작성
·
194
1
안녕하세요
강의에서 만든 매직 메소드에서 호출에 관한 질문입니다. __str__ 메소드의 호출에 대해서 궁금한 점이 있는데요,
다음과 같이 인스턴스를 생성한 후,
print(s1)을 출력하니 __str__메소드가 호출된 것을 확인할 수 있었습니다.
인자들이 할당되는 과정을 생각해보면, print(s1)은 결국 print(s1.__str__())과 같은 과정이라고 생각이 되는데요,
print(str(s1)) 이 print(s1.__str__())과 같은 원리인 것은 이해가 가지만,
print(s1)만 호출했는데도 __str__메소드가 호출되는 이유가 무엇인가요??
답변 1
0
네 더 하위레벨에서 str 메소드가 출력되 되도록 언어 자체가 구현되었기 때문이예요
나중에 level3 고급 과정에서 파이썬 메타프로그래밍을 배우시면 어느정도 알게 되실거예요.
즉, 매직매소드가 자동으로 str 호출되게 구현되었다 라고 이해하시면 됩니다.