プログラミングの関数を使うメリットや書き方・使い方を図解し解説 2

プログラミング基本構文

プログラミングの関数を使うメリットや書き方・使い方を図解し解説

 

プログラミングに出てくる関数の意味がよくわかりません。

関数を使うと何かいいことはあるの?

実際どうやって使えばいいか、具体例なども交えわかりやすく教えて欲しい。

 

本記事の内容

  • 関数とは?
  • 関数を使うメリット
  • 関数の書き方や使い方

 

プログラミングで「関数」を理解できるようになると、誰でも見やすく、品質の高いソースコードになります。

 

とはいえ「関数」と聞いて、ちょっと難しそうだなと思ってしまいますよね。

大丈夫です。

 

この記事では「関数」について具体例を挙げつつ図解しながら、初心者にやさしく解説していきます。

 

1.関数とは?

1.関数とは?

 

まず、プログラミングで使う「関数」の前提知識をここで解説します。

 

プログラミングの「関数」とは一言でいうと、

一連の処理をひとまとめにし、「関数名」を指定するだけで結果が得られるようにした命令のこと。

 

このように捉えておいてください(図解)。

関数とは図解

 

例えていうなら「銀行ATM」を使ってお金を下ろすことが、ちょうど「関数」を使うことに似ています。

ちょっとここで、銀行ATMでお金を下ろすことを考えてみましょう。

 

「銀行ATM」を使ってお金を下ろす ≒ 「関数」を使う

「銀行ATM」を使ってお金を下ろす ≒ 「関数」を使う

 

銀行ATMでお金を下ろす際には、まず以下のような手続きを行いますよね。

  • カードを入れる
  • 暗証番号を入れる
  • 引き出す金額を指定する

 

そのあと銀行ATM内では以下のような様々な処理が行われます。

  • カード情報を読み込む
  • 誰の口座か特定する
  • 口座残金チェック
  • 口座残高から引き出す金額を差し引く...

 

上記の銀行ATM内で行われる処理が、お金を引き出すための「一連の処理をひとまとめ」にしたものです(下図)。

お金を引き出すための「一連の処理をひとまとめ」図解

 

そして最後に現金が出てきます。

 

現金を得るために「銀行ATM」という関数を使うイメージですね。

 

「関数」は2種類ある

「関数」は2種類ある

 

下記のとおり「関数」は2種類あります。

  • 標準関数
  • ユーザー定義関数

 

「標準関数」とはプログラム言語に既に用意されている(組み込まれている)「関数」のこと。

例えば、round()という数値を四捨五入する関数はPHPなどに組み込まれています。

 

一方、「ユーザ定義関数」は、「標準関数」にない機能を自分で作るオリジナル関数のことです。

 

記事後半で、「ユーザ定義関数」の書き方や「関数」の使い方について解説しますね。

 

2.関数を使うメリット

2.関数を使うメリット

 

それでは、「関数」を使うメリットについて解説していきます。

  1. 使いたい機能が簡単に使える(開発者にとって便利)
  2. 同じ処理を何度も記述する必要がない(可読性や保守性が向上)

 

順番に解説します

 

1.使いたい機能が簡単に使える

1.使いたい機能が簡単に使える

 

プログラマーにとって「関数」があることは非常に便利です。

必要な情報を「関数」に渡してあげるだけで、得たい情報がすぐに手に入ります。

必要な情報を「関数」に渡してあげるだけで、得たい情報がすぐに手に入ります

 

複雑な内部処理は意識しなくていい

普段僕たちは「銀行ATM」を使う時、ATMの内部処理なんて意識しませんよね。

「カードと暗証番号、引き出し金額だけATMに入力することで現金が出てくる」

ということだけ知っているはずです。

銀行ATMを関数に見立てる

 

プログラマーも同じように「関数」がやってくれること(目的)さえ知っておけばいいだけ。

「関数」内の様々な処理は意識しなくても、簡単に結果を得ることができるんです。

複雑な内部処理は意識しなくていい図解

 

2.同じ処理を何度も記述する必要がない(可読性や保守性が向上)

2.同じ処理を何度も記述する必要がない(可読性や保守性が向上)

 

プログラムを書く時、同じような機能を使いたいことって多いです。

しかし、そのたびに同じ処理を記述することは、コードが長くなりデメリットとなります。

  • ソースコードが読みづらい
  • バグが混入しやすくなるなど

 

可読性や保守性が向上

「銀行ATM」の内部で行われている様々な処理を、銀行窓口でやっていると窓口の担当者はかなりの労力ですよね。

銀行が忙しくなる

 

お客さんが来るたびに、口座チェックなどやって現金を引き出さないといけません。

また、作業中にミスをしてしまう可能性もあります。

 

しかし、現金引き落としの一連の処理を「銀行ATM」にまとめておくことで、担当者の労力やミスはかなり軽減されます。

 

プログラムにも同じようなことが言えて、「関数」にしておくことで無駄な作業も減るし、コードミスも防ぐことができます。

関数にしておくと手間が省ける図解1

関数にしておくと手間が省ける図解2

 

3.関数の書き方(定義)・使い方(呼び出し)

3.関数の書き方(定義)・使い方(呼び出し)

 

では実際に「関数」の書き方(定義)や使い方(呼び出し)を解説していきます。

プログラムで「関数」を書くことを「定義する」と言い、使うことを「呼び出す」と言います。

以降、このように言い回していきます。

  1. 関数を定義する方法(書き方)
  2. 関数を呼び出す方法(使い方)

 

1.関数を定義する方法|ユーザー定義関数

1.関数を定義する方法|ユーザー定義関数

 

「関数」の定義の仕方は以下の通りです。

function 関数名(引数) {

処理...

...

return 戻り値

}

 

まず、「function」というキーワードがあります。

「function」はオリジナル関数であることを宣言するもので、「ユーザー定義関数」であることを示します。

「ユーザー定義関数」を書く上でお決まりだと思ってください。

 

「function」に続けて「関数名」を書き、()内に引数、{}内に処理を記述します。

また、関数が何らかの値を返すのであれば、returnのあとに戻り値(変数や値など)を記述します。

 

ユーザ定義関数は「function」「引数」と「戻り値」がポイント!

 

これから「引数」と、returnのあとに記述する「戻り値」について解説していきます。

 

具体例として「ドルを円に換算する関数」を使って解説していきます。

まずは「ドルを円に換算する関数」の仕様を見ていきましょう。

 

例)ドルを円に換算する関数

ドル円換算関数

 

以下、ドルを円に換算するユーザ定義関数です。

 PHP
function DollarYenConversion($doll, $rate) {
$yen = $doll * $rate;
return $yen;
}

 

関数の仕様は以下の通り

説明
関数名 DollarYenConversion ドルを円に換算する関数
引数 doll ドル
rate レート
戻り値 yen 換算後の円
機能 入力されたドルを円に換算する

 

引数

引数

function 関数名(引数) {

処理...

...

return 戻り値

}

 

「引数」とは関数内の処理で必要となるデータ(値)のことです。

 

「ドルを円に換算する関数」ではdoll(ドル)とrate(レート)が引数となります。

 PHP
function DollarYenConversion($doll, $rate) {
$yen = $doll * $rate;
return $yen;
}

 

戻り値

戻り値

 

function 関数名(引数) {

処理...

...

return 戻り値

}

 

戻り値とは、関数内で処理された結果のことです。

「return」のあとに結果を記述するだけです。

実際には、処理した結果を変数などに入れて記述します。

 

「ドルを円に換算する関数」では、ドルとレートをもとに円に換算された値(yen)が戻り値となります。

 PHP
function DollarYenConversion($doll, $rate) {
$yen = $doll * $rate;
return $yen;
}

 

では「関数」の呼び出し方について解説してきます。

 

2.「関数」を呼び出す方法(使い方)

2.「関数」を呼び出す方法(使い方)

 

関数の呼び出し方は以下のとおりです。

関数名 (引数)

 

実際の呼び出し方は次のようになります。

 PHP
//ユーザ定義関数
function DollarYenConversion($doll, $rate) {
$yen = doll * rate;
return $yen;
}
//関数呼び出し
$yen = DollarYenConversion(10, 105);
echo $yen;

 

10ドルを円に換算しています。

 

実行結果

1050

 

まとめ

最後に要点をまとめます。

 

「関数」とは「銀行ATM」と似ていて、一連の処理をひとまとめにした命令のこと。

繰り返し使う機能を「関数」にすることで、コード量が減り「保守性」「可読性」が向上します。

「関数」がやってくれること(目的)さえ知っておけば、「関数」の処理内部は意識せずに簡単に使えます。

 

「関数」の定義の仕方は以下の通りです。

function 関数名(引数) {

処理...

...

return 戻り値

}

 

関数の呼び出し方は以下のとおり。

関数名 (引数)

 

「関数」を理解しておくことで、誰もが見やすく、品質の高いソースコードに仕上がりますよ。

 

 

-プログラミング基本構文

© 2021 マー坊プロジェクト