【Python入門】関数とは?主な種類や使用するメリットについて解説
Pythonを学んでいくなかで「関数」という言葉を耳にし、疑問に感じた方もいるかもしれません。
「y = f(x)」のような数式が思い浮かびそうですが、プログラミングの場合は若干意味合いが異なってきます。
この記事では、Pythonにおける関数の概要やメリット、主な種類について解説していきます。
関数とは?
Pythonにおける「関数」とは、受け取った値に対して特定の処理を行い、その結果を返す仕組みのことを指します。
上の図を例にあげると、「受け取った値に対して、23引いた結果を返す」部分が、その関数に与えられた役割(処理)となっています。
また、関数を実行する際に渡す値を引数、結果として返された値を戻り値と呼びます。
関数を使うメリット
関数を使用するメリットは、主に3つあります。
- 処理を簡略化させることで、全体の流れが把握しやすくなる
- 作成した関数は何度も使いまわせるため、記述の手間を省くことができる
- 使用頻度の高い処理を関数にしておけば、エラー発生時の修正負担を減らせる
本来なら何行も書くような処理を関数で代用すれば、作業の手間をぐんと減らすことができます。
そのため、記述がシンプルになりますし、全体の流れが把握しやすくなるのもメリットの一つです。
また、関数を使わずに記述しようとすると、同じ処理でエラーが起きた場合それぞれ対応しなければなりません。
一方、関数でまとめておけば一部の修正で済むため、メンテナンス性を向上させることができます。
関数の主な種類
Pythonで利用できる関数は、大きく4つの種類に分けられます。
- 独自関数(ユーザー定義関数)
- 組み込み関数
- 標準ライブラリの関数
- 外部ライブラリの関数
独自関数 (ユーザー定義関数)
Pythonでは、もともと用意されている関数を利用するだけでなく、行いたい処理に合わせて関数を自作(定義)することもできます。
これらの関数に対して厳密な名称がないため、当サイトでは独自関数(またはユーザー定義関数)と呼んでいます。
一部の処理を分離させて関数にすることで、各処理(関数)の役割がより明確になるといった利点もあります。
組み込み関数
Python側で組み込まれており、呼び出すだけですぐに使える関数を組み込み関数といいます。
指定された値を出力(表示)するprint()
関数や、要素の数を取得するlen()
関数も組み込み関数の一つです。
組み込み関数を実行する場合は、上で説明した通り対象の関数を呼び出すだけで利用できます。
print("Hello, World!") # print関数を使って、「Hello, World!」を表示
= 実行結果 =
Hello, World!
関数の一覧は「組み込み関数 – Python ドキュメント」にて確認できますので、こちらもぜひ参考にしてみてください。
標準ライブラリに属する関数
Python側で標準搭載されており、読み込み処理をすれば使用可能になるライブラリを標準ライブラリといいます。
ライブラリ内に組み込まれている「モジュール」の中にも、役に立つ関数が多く含まれています。
たとえば、random
モジュールに含まれているrandint()
という関数では、指定した範囲でランダムな値を取得することが可能です。
ライブラリ内の関数を使用する場合は、最初にimport
文で必要なモジュールを読み込みます。
import random # 標準ライブラリのrandomモジュールを読み込み
num = random.randint(0, 100) # randint関数を使い、0~100の中でランダムな値を取得する
print(num) # num(randint関数の結果)の中身を表示
= 実行結果 =
89
外部ライブラリに属する関数
Pythonインストール時には搭載されておらず、別途インストールの必要があるライブラリを外部ライブラリといいます。
とくに数学的処理や機械学習用など、専門的な機能をもつライブラリに対して該当する場合が多いです。
外部ライブラリを使用するには、まず必要なモジュールのインストールを済ませておく必要があります。
外部ライブラリの一つであるNumPy
モジュールでは、sqrt()
という関数で指定した値の平方根(√)を求めることができます。
外部ライブラリにおいても、標準ライブラリと同様import
文にて必要なモジュールの読み込みを行います。
import numpy # 外部ライブラリのnumpyモジュールを読み込み
num = numpy.sqrt(9) # sqrt関数を使い、9の平方根(√)を取得する
print(num) # num(sqrt関数の結果)の中身を表示
= 実行結果 =
3.0
まとめ
この記事では、Pythonにおける関数の概要やメリット、主な種類について解説しました。
少し構造が複雑ではあるものの、関数を活用すれば作業効率をグッと上げることができます。
プログラミングを行う上では必要不可欠な要素ですので、少しずつ使い慣れていくようにしましょう。