인프런 커뮤니티 질문&답변

박호영님의 프로필 이미지
박호영

작성한 질문수

처음하는 파이썬 데이터 분석 (쉽게! 전처리, pandas, 시각화 전과정 익히기) [데이터분석/과학 Part2]

데이터 분석을 위해 필요한 파이썬 문법 항목

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

작성

·

230

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

박호영님의 프로필 이미지
박호영
질문자

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

 

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를 다시 사용할 필요가 없습니다.

감사합니다.

박호영님의 프로필 이미지
박호영

작성한 질문수

질문하기