本文へスキップ
BecomeCoder

Pythonコース · 第5章 関数 ― 処理に名前をつけてまとめる · レッスン19

引数と戻り値 ― 値を渡して結果を受け取る

ブラウザで完結

導入

関数引数で値を渡し、return戻り値を返せます。これで「入力を受け取り、結果を返す」部品が作れます。

説明

関数は「入れたものを加工して返す機械」だと考えると分かりやすいです。引数が入口、戻り値が出口です。

flowchart LR
  in["引数<br/>3, 5"] --> f["関数 add<br/>a + b"] --> out["戻り値<br/>8"]

カッコの中に引数を書くと、呼び出すときに値を渡せます。return で計算結果を返します。

def add(a, b):
    return a + b

result = add(3, 5)     # 戻り値を変数で受け取る
print(result)          # 8
print(add(10, 20))     # 直接使ってもよい

return に到達すると関数はそこで終わり、値を返します。戻り値は変数に入れたり、そのまま print() に渡したりできます。

def area(width, height):
    return width * height

print("面積は", area(4, 5))   # 面積は 20

複数の値をまとめて返すこともできます(タプルになります)。

def min_max(nums):
    return min(nums), max(nums)

lo, hi = min_max([3, 1, 4, 1, 5])
print("最小", lo, "最大", hi)

やってみよう

add に渡す数を変えて結果を確かめましょう。area の引数を変えて面積を計算してみてください。

演習

2つの数を受け取り、その**積(かけ算)**を返す関数 multiply を定義し、multiply(6, 7) の結果を表示してください(結果は 42)。

ヒント1を見る

def multiply(a, b): return a * b、そして print(multiply(6, 7))

実際に動かしてみよう

下のエディタにPythonを書いて「実行」を押すと、ブラウザ内のPythonで出力が表示されます。本文の例をそのまま試したり、書き換えたりしてみましょう(input() を使う回は「標準入力」欄に値を入れてから実行します)。

Python — ブラウザ内で実行

ブラウザ内でPythonを動かす環境(Skulpt)を読み込みます(初回のみ少し時間がかかります)。
スクロールして表示された時点でも自動で読み込まれます。