ColaboratoryでPython基礎 def文を使った自作関数について

def文を使ってまとめておいたプログラムを呼び出して、使えるようにする自作関数について、解説とColaboratoryで実行した様子を投稿します。

関数とはある値を渡すとあらかじめ決められた処理を行い、その結果を出力することです。

Colaboratoryを使えるようにする方法は下の投稿になります。
Colaboratoryを使えるようにする方法2つと Pythonプログラムの実行

目次

.自作関数の基礎、使い方
def文を使った自作関数の作り方
自作関数の使い方
自作関数に値を渡す
return 戻り値を使った場合

.自作関数を使った計算
return無しの場合
return有りの場合
自作関数を2つ使う場合

.自作関数とwhile文を使ったBMIの計算と判定


1.def文の基礎、使い方

def文を使った自作関数の作り方

作り方のイメージになります。

def 関数名(引数1,引数2,引数3…):
    まとめておいたプログラム
    return 戻り値

関数名(引数1,引数2,引数3…)

作り方について、まずdefを書いて今から自作関数を作成する宣言をします。そしてdefの横に自分で決めた関数名を書きます。
関数名は自作関数を呼び出すときに使うので、わかりやすい名前にします。
続いて、関数名の横にはカッコ()の中に引数と呼ばれる自作関数に値を渡す変数がきます。それからif文、while文と同じでコロン(:)を書きインデント(字下げ)をします。
インデントの後はまとめておいたプログラムを挿入し、returnで戻り値があれば戻り値を書いて自作関数の作り方は終了になります。

戻り値は自作関数内で処理が行われた後に出力する値で、呼び出し元に値を返します。

自作関数の使い方

自作関数を使うときは関数名(引数1,引数2…)で呼び出します。自作関数に引数の指定があればカッコ()の中に引数を書いて自作関数に引数の値を渡します。

①は”こんにちは”と表示する自作関数でmojiという関数名にしています。
②は引数の指定が無いのでmoji()で自作関数を呼び出しています。
③はprint文で”こんにちは”を表示しています。

自作関数に値を渡す

①は引数に名前を入れて自作関数に名前を渡すと、”こんにちは”~”さん”の~の部分に名前を当てはめて表示する自作関数になります。
②はmoji()のカッコ()の中に名前を指定します。指定した名前は①で作成したdef monji(name)nameに入ります。
③は”こんにちは”+”石村”+”さん”をプラス(+)演算子で組み合わせて1つの文字列にし、”こんにちは石村さん“を変数str_mojiに代入しています。

return 戻り値を使った場合

①は引数に名前を入れて自作関数に名前を渡すと、”こんにちは”~”さん”の~の部分に名前を当てはめて、その文字列をreturnで呼び出し元に返す自作関数になります。
②はmoji()のカッコ()の中に名前を指定します。指定した名前は①で作成したdef monji(name)nameに入ります。
③は”こんにちは”+”石村”+”さん”をプラス(+)演算子で組み合わせて1つの文字列にし、”こんにちは石村さん“を変数str_mojiに代入しています。
④はreturn str_mojiで自作関数を呼び出したmoji(“石村”)に”こんにちは石村さん”の文字列を返します。そして、その文字列が変数show_str1に入ります。
⑤はreturnで返ってきた文字列が変数show_str1に入っているので、その文字列をprint文で表示しています。



2.自作関数を使った計算

return無しの場合

①は指定した2つの引数の値を足して表示する自作関数tasuという関数名で作成しています。
②はtasu()のカッコ()の中に引数(2,1)を入れています。2はtasu(one,two)のoneに入り、1はtasu(one,two)のtwoい入ります。
③は変数totalに入っている足された値をprint文で表示しています。

return有りの場合

①は引数2つの値を足して、returnで呼び出し元に値を返す自作関数tasuという関数名で作成しています。
②は自作関数に引数(2,1)を渡して、返ってきた値をprint文で表示するために変数show1を用意しています。
③は2つの引数を足した変数totalをreturnで呼び出し元のtasu(2,1)に返しています。
④はreturnで返ってきた値が変数show1に入っているので、その値をprint文で表示しています。

def文を2つ使う場合

①は上のプログラムと同じで、引数2つの値を足してreturnで呼び出し元に値を返す自作関数tasuという関数名で作成しています。
②は引数の値にx100をしてreturnで呼び出し元に値を返す自作関数kakeruという関数名で作成しています。
③は自作関数tasuに引数(3,6)を渡して、返ってきた値を自作関数kakeruで使うために変数show_totalを用意しています。
④はreturnで足した値を呼び出し元に返します。
⑤は変数show_totalを自作関数kakeruの引数に渡しています。
⑥はreturnでx100をした値を呼び出し元に返します。

3.def文とwhile文を使ったBMIの計算と判定

①は引数tall、weightからBMIを計算してif文でそのBMIから”肥満”、”普通”、”痩せ型”を判定し、その判定した文字列をreturnで呼び出し元に返す自作関数bmiという関数名で作成しています。
②はinputでキーボード入力の値を変数tallに入れています。
③は身長(tall)を入力しない場合はプログラムを終了します。
④はBMIを実数で求めるので、floatを使って実数に変換しています。
⑤は引数に入力した身長、体重を入れて自作関数bmiに値を渡しています。returnで判定して返ってきた文字列を下のprint文で表示するために変数show_strを用意しています。
⑥は引数tall,weightからBMIを計算しています。
⑦returnで判定して返ってきた文字列を入れている変数show_strをprint文で表示しています。

↓プログラムの実行↓