#python #anaconda #jupyter-notebook #visual-code #html #css #javascript #http 제목[re]실습자료의 사용자 정의 함수에서 print를 사용했을때 발생하는 오류2022-03-17 16:49작성자조교 정승재제가 이해한 바로 질문의 요지는"return print(abs(a-b)) 코드에서 print() 함수가 abs(a-b)의 값을 출력하고, 그 출력 값이 return에 의해 반환되어야 하는 것이 아닌가?" 입니다.아래 참조 링크를 보시면 C언어에서 구현된 파이썬 내장 함수 print 함수에 대한 코드를 볼 수 있습니다.코드를 보시면 print(*args, **kwargs) 함수는 어떤 값을 return하는 함수가 아니라 화면에 보여주는 함수입니다.이것을 우리는 '출력'이라고 배웁니다. 즉, print()함수는 어떤 특정 값을 '반환'하는 것이 아니라 괄호 안에 넣은 값을 화면에 보여주는 역할을 합니다.따라서 a = print("hello world") 코드를 입력하고 print(tpye(a)) 코드를 실행시켜보면 <Class 'NoneType'>의 결과를 보실 수 있습니다. 결론적으로 return print(abs(a-b)) 에서 print(abs(a-b))는 abs(a-b)의 값을 화면에 보여주기만 하고 return에는 "None", 아무 값도 주지 않습니다.assert getDifference(10, 2) == 8 의 코드는 assert None == 8 의 코드를 실행시켰다고 보시면 됩니다.아래 코드와 같이 print() 함수로 이리저리 가지고 놀다 보면 그 차이를 더 명확하게 아실 수 있을 것 같습니다.*** print 내장 함수 구현 링크: https://stackoverflow.com/questions/59039963/implementation-of-print-in-python*** 위 질문에 대한 print() 함수 실험 코드def getDifference1(a, b): return print(abs(a-b))def getDifference2(a, b): return abs(a-b)a = 1b = 2c = getDifference1(a, b)d = getDifference2(a, b)print(c)print(d)print(type(c))print(type(d)) 목록수정삭제답변글쓰기 댓글 [0] 댓글작성자(*)비밀번호(*)내용(*) 댓글 등록 더보기이전실습자료의 사용자 정의 함수에서 print를 사용했을때 발생하는 오류살려주세요2022-03-17다음[re]실습자료의 사용자 정의 함수에서 print를 사용했을때 발생하는 오류수업도우미 정승우2022-03-17 Powered by MangBoard | 워드프레스 쇼핑몰 망보드