【Python第6回】関数の定義と引数・戻り値
複雑なプログラムを整理し、同じコードを何度も書くムダを省く「関数(かんすう)」の仕組みを学習します。オリジナルの関数の作り方、入力となる引数、出力となる戻り値を学びましょう。
1. プログラミングにおける「関数」の意義
プログラミングにおける**「関数(Function)」**とは、特定の目的を果たすための「処理のまとまり(部品)」のことです。
あらかじめ定義された処理グループに名前を付けておくことで、必要な時にその名前を呼び出すだけで何回でも繰り返し実行できるようになり、コード全体の行数を劇的に削減し、メンテナンス性を向上させることができます。
2. def キーワードを使った自作関数の書き方
Pythonで新しく自分自身で関数を作る時は、`def`(define = 定義する) というキーワードを使用します。
`def 関数名():` と書いて改行し、やはり「インデント」を適用した上で実行したい処理グループを記述します。
3. インプット(引数)とアウトプット(戻り値)
関数を動的な部品にするための最も重要な機能が「引数(ひきすう)」と「戻り値(もどりち)」です。
- 引数(パラメータ): 関数を呼び出す側から、処理に必要な値(例: 計算する数値や文字など)を内部へ引き渡すインプット値です。
- 戻り値(返り値): 関数の中で計算や加工が終わった後、その結果を呼び出し元のコードへ送り戻すアウトプット値です。Pythonでは `return` 文を使って指定します。
4. オリジナルの関数を定義して呼び出すコード
以下のコードは、挨拶を表示するシンプルな関数と、2つの数値を足し合わせて結果を返す計算用関数の実装・呼び出し例です。
# 1. 引数も戻り値もないシンプルな関数 def say_hello(): print("こんにちは!") say_hello() # 関数を実行。画面に「こんにちは!」と表示される # 2. 引数と戻り値(return)を持った関数 def add_numbers(a, b): result = a + b return result # 結果を呼び出し元に返す # 戻り値を変数 answer に受け取る answer = add_numbers(10, 20) print(answer) # 30 と表示される
⚠️ return を呼ぶと関数は終了する
関数の中で `return` 文が実行されると、Pythonはその場でその関数の処理を打ち切って直ちに呼び出し元に戻ります。そのため、`return` の後ろに書かれた関数内の別の処理コードは、決して実行(到達)されることはありません。
Pythonで自作の関数を定義する(宣言する)ために、行頭に置く必要がある英字3文字の必須キーワードは何でしょうか?
※この問題の解答と解説は、ページ最下部(まとめの前)に掲載しています。
5. まとめと次回予告
第6回の講義はお疲れ様でした!今回の重要ポイントを振り返りましょう。
- 関数は共通の処理を1箇所にまとめ、何度でも呼び出せるようにしたプログラムの部品。
- `def 関数名(引数):` で定義し、内部にはインデントを適用する。
- 呼び出し元に処理した結果を戻す場合は、`return 戻り値` と記述する。
次回(第7回)は、リストよりも複雑なデータ構造である、キーと値のペアでデータを格納する「辞書(dict)と重複しない値のセット(集合)」について学びます。お楽しみに!
📖 Pythonの基礎を全10回でマスターする
🔑 第6回 理解度チェックの解答と解説
【解説】
正解は **`def`** です。 Pythonでは `def my_function():` のように定義を開始します。他のプログラミング言語での `function`(JavaScript等)や型宣言名(Java、C++等)の記述に比べて、極めてシンプルに短く書けるように設計されています。