객체 지향 프로그래밍이란?객체 만들기 연습메뉴 만들기

Q

던더 str함수에서 print 사용시 출력관련해 질문이있습니다.

조회 1395

좋아요 7

2019년 11월 12일

댓글 5

2019년 11월 13일
혹시 코드를 좀 보여주실 수 있으신가요? 말씀하신대로라면 정상적으로 출력된 듯하지만 여러개가 출력되길 원하신다면 어떤 상황인지 조금 더 파악이 필요할 것 같아서요!
2019년 11월 15일
저도 그렇게 작성했었는데요... 다른 편집기를 이용해보시면 이런 오류 메시지가 작성합니다. TypeError: __str__ returned non_string(type NoneType) / __str__ 메소드에서는 print가 아닌 return을 사용해야 하더라구요 ^^ 다 같이 열공 파이팅입니다 ㅎㅎ
2019년 11월 15일
참고로 저는 과제를 할 때 repl.it으로 작성하면서 실행해보고 하고 있습니다. 구글에서 repl.it 입력하시면 됩니다.
2021년 6월 30일
오류가 나는 이유는 다른 분들이 설명해주셨고, 햄버거 한 줄은 출력 된 이유에 대해서
던더 str 메소드는 리턴값으로 str자료형을 받지 않는 경우 에러를 일으킵니다.
2021년 6월 30일
오류가 나는 이유는 다른 분들이 설명해주셨고, 햄버거 한 줄은 출력 된 이유에 대해서 쓰자면
던더 str 메소드는 리턴값으로 str자료형을 받지 않는 경우 에러를 일으킵니다.
다만 burger = MenuItem("햄버거", 4000) 로 던더str메소드가 호출되었을때 None값을 리턴하기 전에 print문이 먼저 실행되고 None값을 리턴하게됩니다. 그래서 첫 에러가 뜨기전에 print문이 실행되어 첫줄인 햄버거 만큼은 출력이 되는 것입니다.
A
1개의 답변이 있어요
커뮤니티 파트너 채택
2019년 11월 15일

댓글 2

2019년 11월 16일
좋은 정보 감사해요!! __str__에는 return이라는 점 까먹지 않겠어요 ㅋㅋㅋㅋ
2019년 11월 18일
좋은 답변 감사합니다. 참고로 저는 코드잇에서 사용하는 웹 편집기를 이용했습니다.

(주) 코드잇

대표강영훈

개인정보보호책임자강영훈

이메일support@codeit.kr

사업자 번호313-86-00797

통신판매업제 2019-서울중구-1034 호

주소서울특별시 중구 청계천로 100 시그니쳐타워 동관 10층 코드잇