• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

함수 (function without return) none출력 질문

23.10.15 17:18 작성 조회수 135

0

def awe_sum(a,b):

print(int(a)+int(b))

a=2

b=3

print(awe_sum(a,b))

이 코드 실행 결과

5
None

아래처럼 나오는데 밑에 None은 왜 생기는 건가요?

답변 2

·

답변을 작성해보세요.

0

박호영님의 프로필

박호영

질문자

2023.10.16

완전 이해했습니다. 감사합니다

 

0

안녕하세요. 답변 도우미입니다.

해당 부분은 해당 함수 리턴값이 없어서 출력이 되는 것인데요. 구체적으론느

awe_sum 함수는 두 개의 인자 ab를 더해서 그 결과를 출력하고 있습니다. 그런데 함수는 아무런 값을 return하지 않기 때문에 Python이 자동으로 None을 리턴하게 됩니다. 따라서 print(awe_sum(a, b))는 실제로 print(None)을 실행하는 것과 같아요.

이를 고치려면 두 가지 방법이 있습니다.

1. awe_sum 함수가 값을 리턴하게 변경하기

    def awe_sum(a, b):
        return int(a) + int(b)

    a = 2
    b = 3
    print(awe_sum(a, b))

이렇게 하면, awe_sum(a, b)5를 리턴하므로 print(5)가 실행되어 5만 출력됩니다.

2. awe_sum 함수를 호출할 때 print를 사용하지 않기

    def awe_sum(a, b):
        print(int(a) + int(b))

    a = 2
    b = 3
    awe_sum(a, b)

이렇게 하면 함수 내부에서 이미 print를 사용했으므로, 함수를 호출할 때 print를 다시 사용할 필요가 없습니다.

감사합니다.