강의로 돌아가기
자율주행차 개발

함수내에 result에 print를 찍을경우 왜 Noned 나올까요?

하기의 코드처럼 return print(result) 하면
실행시에 3밑에 왜 None이 뜰까요? print되는 result에는 분명히 3이 담겨있는데 말이죠

def add(a,b):
    result = a + b
    return  print(result)

Add = add(1,2)
print(Add)
작성중인 코드―function_return
1
2
3
4
5
6
def add(a,b):
    result = a + b
    return  print(result)

Add = add(1,2)
print(Add)
  • 전국냥꾼협회
    원하는 값을 얻고자 하시려면 return result로 리턴을 시켜야 합니다. 전국냥꾼협회 2018.07.22 13:20
  • 전국냥꾼협회
    해당 코드의 결과는 print(result)의 결과를 반환하겠단 뜻이 됩니다.(print도 함수입니다.) print의 반환값이 없기 때문에, Add에는 None이 담기게 됩니다. 전국냥꾼협회 2018.07.22 13:22
1 개의 답변
Demi

result는 add 함수 안에서만 볼 수 있는 값입니다.
따라서 함수 바깥에서는 result 에 담긴 값을 볼 수 없어요.

return print(result)는 result 값을 리턴하는 게 아니라, print(result) 값을 리턴합니다.
print 함수는 None 을 리턴하기 때문에(즉, 그 어떤 값도 리턴하지 않기 때문에) print(Add) 가 None 을 출력하지요.

답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.