강의

멘토링

커뮤니티

Inflearn コミュニティ Q&A

phy7262200 のプロフィール画像
phy7262200

投稿した質問数

【リニューアル】はじめてのPythonデータ分析(簡単に!前処理、pandas、可視化の全過程を習得)[データ分析/科学 Part1]

データ分析のために必要なPython文法の項目

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

作成

·

330

0

def awe_sum(a,b):

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

a=2

b=3

print(awe_sum(a,b))

이 코드 실행 결과

5
None

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

pythonpandas

回答 2

0

phy7262200님의 프로필 이미지
phy7262200
質問者

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

 

0

funcoding님의 프로필 이미지
funcoding
インストラクター

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

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

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

감사합니다.

phy7262200 のプロフィール画像
phy7262200

投稿した質問数

質問する