関数の基本概念を理解しよう
学習の目標
本章では、以下の内容を学習します。
- 関数とは何かを理解する
- 関数を使うメリットを知る
- これまで使ってきた関数を振り返る
- 自分で関数を作る意味を理解する
はじめに
プログラミングを学習していく中で、コードの量が増えてくると、同じような処理を何度も書いていることに気づくことがあります。例えば、挨拶メッセージを表示したり、計算を行ったりする処理が複数の場所で必要になったとします。
このような時に役立つのが関数という仕組みです。関数を使うことで、一度書いたコードを何度も再利用できるようになり、プログラムがより読みやすく、効率的になります。
本章では、関数の基本的な概念について学んでいきましょう。実際に関数を書く前に、まずは「関数とは何か」をしっかりと理解することが大切です。
関数とは何か
関数とは、特定の処理をまとめて名前を付けたもののことです。まるで料理のレシピのように、「この手順に従えばこの結果が得られる」という処理の塊を作ることができます。
身近な例で考えてみましょう。皆さんが使っている携帯電話にも、たくさんの「機能」がありますね。電話をかける機能、メッセージを送る機能、写真を撮る機能などです。それぞれの機能は、ボタンを押すだけで複雑な処理を実行してくれます。
プログラミングの関数も、これと同じような考え方です。複雑な処理を関数という形でまとめておけば、その関数の名前を呼び出すだけで、決められた処理を実行してくれるのです。
数学の関数との共通点
実は、皆さんも中学校や高校で「関数」という言葉を聞いたことがあるでしょう。数学の関数では、例えば「f(x) = x + 1」のように、入力値(x)に対して決まった処理(+1)を行い、結果を出力します。
プログラミングの関数も同じような仕組みです。何かの値を入力として受け取り、決められた処理を行って、結果を返してくれます。ただし、プログラミングの関数はもっと自由度が高く、計算だけでなく文字の表示や画面の更新など、様々な処理を行うことができます。
関数を使うメリット
関数を使うことで、どのような良いことがあるのでしょうか。主なメリットを見ていきましょう。
コードの再利用ができる
同じ処理を何度も書く必要がなくなります。一度関数を作っておけば、その関数を呼び出すだけで同じ処理を実行できます。
例えば、税込み価格を計算する処理を考えてみましょう。税率が10%の場合、各商品の価格に1.1を掛ける計算を何度も行う必要があります。この計算を関数にまとめておけば、商品の価格を渡すだけで税込み価格を計算してくれるようになります。
プログラムが読みやすくなる
長いコードを関数に分けることで、プログラム全体の流れが理解しやすくなります。関数に適切な名前を付けることで、その部分が何をしているのかが一目でわかるようになります。
また、メインとなる処理と詳細な処理を分けることで、プログラムの構造が整理され、後から読み返したときにも理解しやすくなります。
エラーの発見と修正が簡単になる
同じ処理を複数の場所に書いていると、その処理にエラーがあった場合、すべての場所を修正する必要があります。しかし、関数にまとめておけば、関数の部分だけを修正すれば、その関数を使っているすべての場所に修正が反映されます。
チームでの開発が楽になる
複数の人でプログラムを作る場合、役割分担がしやすくなります。「Aさんはデータを処理する関数を作る」「Bさんは画面表示の関数を作る」というように、それぞれが担当する部分を明確に分けることができます。
これまで使ってきた関数の例
実は、皆さんはすでに多くの関数を使ってプログラムを書いています。Pythonには、最初から使える関数がたくさん用意されているのです。
print関数
最もよく使っている関数の一つがprint
関数です。この関数は、画面に文字や数値を表示するための処理をまとめたものです。
print("Hello, World!")
この一行で、実際には画面への文字表示に関する複雑な処理が実行されています。しかし、私たちはprint
という関数名を呼び出すだけで、その複雑さを意識せずに文字を表示できます。
len関数
文字列やリストの長さを調べるlen
関数も、よく使う関数の一つです。
text = "Python"
length = len(text)
print(length) # 6と表示される
このlen
関数の内部では、文字列の文字数を数える処理が行われていますが、私たちはその詳細を知る必要がありません。関数を呼び出すだけで結果を得ることができます。
input関数
ユーザーからの入力を受け取るinput
関数も関数の一つです。
name = input("お名前を入力してください: ")
print("こんにちは、" + name + "さん!")
input
関数の内部では、キーボードからの入力を待ち、入力された文字列を取得する処理が行われています。しかし、私たちは関数を呼び出すだけで、簡単にユーザーからの入力を受け取ることができます。
type関数
データ型を調べるtype
関数も便利な関数です。
number = 42
print(type(number)) # <class 'int'>と表示される
text = "Hello"
print(type(text)) # <class 'str'>と表示される
このように、Pythonには最初からたくさんの便利な関数が用意されており、私たちはそれらを組み合わせてプログラムを作っています。
自分で関数を作る意味
Pythonには便利な関数がたくさん用意されていますが、なぜ自分で関数を作る必要があるのでしょうか。
自分だけの処理をまとめられる
用意されている関数は一般的な処理を行うものですが、私たちが作りたいプログラムには、そのプログラム特有の処理が必要になります。例えば、成績の平均を計算したり、挨拶メッセージを作ったりする処理は、自分で作る必要があります。
複雑な処理を簡単に使えるようにする
複数の処理を組み合わせた複雑な処理を、一つの関数にまとめることで、後から簡単に使えるようになります。例えば、ユーザーから数値を入力してもらって、その数値が正しいかどうかをチェックして、エラーメッセージを表示する、というような一連の処理を関数にまとめることができます。
プログラムの設計力が身につく
関数を作ることを通じて、「どのような処理をまとめるべきか」「どのような名前を付けるべきか」といったプログラムの設計について考える力が身につきます。これは、より大きなプログラムを作るときにも役立つ重要なスキルです。
関数作成の準備
次の章からは、実際に自分で関数を作る方法を学んでいきます。最初は簡単な関数から始めて、徐々に複雑な関数を作れるようになっていきましょう。
関数を作る際の基本的な考え方は以下の通りです。
まず、「何度も使いそうな処理」や「まとめておいた方が分かりやすい処理」を見つけます。次に、その処理に適切な名前を付けて、一つの関数として定義します。そして、必要なときにその関数を呼び出して使います。
この流れを意識しながら、次の章で実際に関数を作ってみましょう。
まとめ
本章では、関数の基本概念について学習しました。
関数とは、特定の処理をまとめて名前を付けたもので、コードの再利用性や読みやすさを向上させる重要な仕組みです。私たちはすでにprint
、len
、input
、type
などの関数を使ってプログラムを作っており、これらの関数のおかげで複雑な処理を簡単に実行できています。
自分で関数を作ることで、プログラム特有の処理をまとめ、より効率的で理解しやすいプログラムを作ることができるようになります。次の章からは、実際に関数を定義する方法を学んでいきましょう。
Starterプランでより詳しく学習
この先のコンテンツを読むにはStarterプラン以上が必要です。より詳細な解説、実践的なサンプルコード、演習問題にアクセスして学習を深めましょう。