関数の基本形を学ぶと、次に気になるのが「外から値を渡すにはどうするのか」「計算結果を受け取るにはどうするのか」という点です。
そこで大切になるのが、引数と戻り値です。
この記事では、初心者向けにこの2つの役割をやさしく整理しながら、実際に動くコードで確認していきます。

この記事でわかること

  • 引数が何を受け取るためのものか
  • 戻り値が何を返すためのものか
  • 引数と戻り値を使って関数を便利にする考え方

完成コード(まず見てみよう)

def calc_total_price(price, shipping_fee):
    total = price + shipping_fee
    return total


item_total = calc_total_price(1200, 300)
print("合計金額:", item_total, "円")

コードの実行結果は次の通りです。

合計金額: 1500 円

このコードはそのまま実行できます。
1200300 を関数に渡し、計算した結果を受け取って表示しています。

テーマの説明(やさしく)

引数は、関数に外から値を渡すための入り口です。
「この関数に必要な材料を渡す場所」と考えるとわかりやすいです。

たとえば、商品の金額や送料のように、毎回変わる値を関数の中で使いたいときがあります。
そのときに引数を使うと、同じ関数をいろいろな値で使い回せます。

戻り値は、関数の中で作った結果を外へ返すためのものです。
計算した答えを、呼び出した側でも使えるようにする仕組みだと考えるとよいです。

基本の形は次の通りです。

def 関数名(引数):
    処理
    return 戻り値

return が実行されると、その値が関数の外へ返ります。
返ってきた値は変数に入れたり、そのまま print() で表示したりできます。

具体例・補足説明

まずは、引数だけを使う例を見てみます。

def say_name(name):
    print("こんにちは、" + name + "さん")


say_name("田中")
say_name("佐藤")

コードの実行結果は次の通りです。

こんにちは、田中さん
こんにちは、佐藤さん

この例では、name が引数です。
同じ関数でも、渡す値を変えるだけで表示内容を変えられます。

次に、戻り値を使う例を見てみます。

def make_message(name):
    message = "こんにちは、" + name + "さん"
    return message


text = make_message("鈴木")
print(text)

コードの実行結果は次の通りです。

こんにちは、鈴木さん

このコードでは、関数の中で作った文字列を return で返しています。
返ってきた値を text に入れてから表示しているので、あとで別の処理にも使えます。

引数と戻り値を両方使うと、計算の関数がさらにわかりやすくなります。

def calc_score_average(math_score, english_score):
    total = math_score + english_score
    average = total / 2
    return average


result = calc_score_average(80, 92)
print("平均点:", result)

コードの実行結果は次の通りです。

平均点: 86.0

このように、引数で材料を受け取り、戻り値で答えを返すと、関数が「入力すると結果が出る部品」のように使えます。
同じ計算を何度もしたいときにも便利です。

なお、return を書かない関数は、計算結果を外へ返しません。
表示だけしたい関数と、結果を返したい関数は役割が少し違うので、使い分けを意識すると理解しやすくなります。

おじちくワンポイント

初心者のうちは、引数を「関数に渡す値」、戻り値を「関数から受け取る値」と一言で覚えるのがおすすめです。
難しく考えすぎず、「渡す」と「返す」の流れをコードで何度か書いてみると、自然に身につきます。

よくある勘違い・注意点

  • 引数は関数を定義するときに受け取る名前で、実際の値は呼び出すときに渡します
  • return を書いたあとにある処理は、同じ関数の中では実行されません
  • print() は表示するだけで、計算結果を外へ返す役割ではありません

練習問題

問題1
calc_rectangle_area(width, height) という関数を作り、長方形の面積を返してください。58 を渡して、結果を表示してみてください。

問題2
create_greeting(name, hour) という関数を作り、"こんにちは、田中さん。今は14時です。" のような文章を戻り値として返してください。返ってきた値を変数に入れて表示してみてください。

まとめ

  • 引数は関数に外から値を渡すための仕組みです
  • 戻り値は関数の中で作った結果を外へ返すための仕組みです
  • 引数と戻り値を使うと、関数をいろいろな場面で再利用しやすくなります