コース: プログラミングの基礎:基本

関数から値を返す

コース: プログラミングの基礎:基本

関数から値を返す

幼い頃、郵便物を 郵便受けから取り出して お母さんに渡すお手伝いをしていた人も いるかもしれませんね。 また皿洗いのお手伝いをした人は お皿を洗うだけなので お母さんに持って行くものは なかったはずです。 これは今まで作成してきた関数の機能と 同じようなものです。 何か仕事をするだけで おしまいの場合もあります。 でもお母さんに 郵便物を持ち帰るように 何かを返してほしい場合もあります。 このような時には 値を返す関数を使えば良いのです。 VS コードを使って 実際にやってみましょう。 05_04_begin.py を 開いてください。 1行目でお金を引き出すという意味で withdraw money という名前の関数を 作成します。 この関数には2つのパラメーターが あります。 1つ目は current balance です。 これにはあなたの口座にある 現在の金額を格納します。 2つ目のパラメーターは amount という名前です。 これはあなたが引き出したい金額です。 そして2行目には if 文があります。 この if 文では引き出したい金額を 賄えるだけの資金が 口座にあることを確認しています。 もしあれば3行目で 現在の残高を単純な引き算で 更新しています。 現在の残高、current balance から 金額 amount を引きます。 そして最後に4行目で print 関数を使って 現在の残高を表示しています。 6行目ではお金を引き出す withdraw money 関数を 呼び出しています。 引数は現在の残高、 current balance を 100、 金額 amount を 80 で入力しています。 解説用ですから 値は小さくしています。 この関数を実行し、 出力を確認してみましょう。 予想通り残高は 20 です。 さてお金を引き出した後プログラムの中で 新しい残高を確認し、 入金が必要かどうかを 判断したいとします。 この時、関数から値を返すと便利です。 Python では def 文を使って関数を作る時、 return 文を使って 戻り値を返すことができます。 return 文は return キーワードと 関数が返すべき値から構成されます。 Python には 特殊な動作をさせるために 使うキーワードが 30 以上あります。 return はそれらのキーワードの ひとつです。 return キーワードを利用するために コードにいくつかの変更を加えましょう。 まず3行目で Enter キーを押して 現在の残高を返します。 そのためには return キーワードを使うので return と入力して current balance と入力します。 これで current balance の値を 返すようになりました。 次にこの print 関数はもういらないので 削除しましょう。 6行目では関数から返された値を 後で使用したいので 変数の中に格納する必要があります。 そのためには行頭に移動して、 balance という変数を作成します。 そして等号を使って 関数から得た値を代入します。 最後に入金が必要かどうかを 確認するために、 if else を追加したいと思います。 そこでこの関数呼び出しの下に if 文を作成しましょう。 残高が 50 以下であるかどうかを チェックします。 その場合「入金が必要です。」と 表示しましょう。 そうでなければ 「何もありません。」と表示して終了です。 このファイルを保存して コードを実行してみましょう。 入金が必要だと メッセージを表示しました。 これは変数 balance の値が 20 になったので if 文で入金が必要であることを 知らせてくれているのです。 関数から値を返すことができるのは プログラミングの基本です。 新しい知識を身につけたので 色々なプログラムを作ってみましょう。

目次