해결된 질문
24.06.03 20:43 작성
·
86
0
안녕하세요 강사님, 수업 잘 듣고 있습니다. 좋은 강의 만들어 주셔서 감사드립니다.
수업을 듣다가 9분 12초 쯤에서 질문이 있어서 게시글 남깁니다.
eval(repr(p)) 에서,
repr(p) 가 Pair 라는 클래스를 호출해서 인스턴스로 만드는
string을 나타내기 때문에, eval()을 했을 때 Pair라는 객체가 생성되는 게 맞을까요?
바꿔서 말하면 repr(p)가 평가되었을 때 Pair(3,4)와 같은 객체 생성 expression과 같기 때문에 그 expression이 eval()을 타서 Pair 객체가 만들어지는거죠?!
답변 주시면 감사하겠습니다!
답변 1
0
2024. 06. 04. 10:08
eval() 함수는 string을 이자로 받습니다. 이때 string "Pair(3,4)" 가 입력되면 객체를 생성합니다.
repr(p)는 "Pair(3,4)"를 출력 하게 됩니다.
따라서, 해당 클래스에 repr이 재정의 되어 있으면 자신과 같은 객체를 생성할 수 있게 됩니다.