見出し画像

東大でPython! - 関数

関数の定義
前述のように、変数の値が変わるたびにBMIの式を入力するのは面倒です。以下では、身長 height と体重 weight をもらって、BMIを計算する関数 bmi を定義してみましょう。関数を定義すると、BMIの式の再入力を省けて便利です。

まず計算式をおさらいします

w / (h/100.0) ** 2

変数が2つ"w"と"h"があり、この数字をいろいろ変えて実行すると計算することができます。この場合だと変数に入れる式が必要なので、"w"と"h"それぞれを代入してからの実行と手間がかかります。

この手間を省くために関数という"型"を作ってやります。作り方は

"def"を先頭に書いて以下のような形にします。

def 関数名(入力値1,入力値2)
 計算式

def 関数名(入力値1,入力値2)
 return 計算式

の2つ考えられます。

使い方は

関数名(入力値1,入力値2)

とします。

これをBMIの計算式に当てはめてColabで実行します。

def bmi(height, weight):
    print(weight / (height/100.0) ** 2)

または

def bmi(height, weight):
    return weight / (height/100.0) ** 2

と定義して

bmi(100,50)

と実行すると"50"という答えが出てきます。

この場合の注意点は1つ目は

print()

というPythonで初めから用意されているコンソールに出力する’関数を使っていることです。

print(計算式)

で計算して出力、結果が表示されます。

この場合には同じように計算されて数字が出てくるのですが、今後複雑な計算、変数をいくつも使って計算することになった場合には"return"を使ったものしか使えません。

return

この構文は return で始まり、return文と呼ばれます。return文は、return に続く式の評価結果を、関数の呼び出し元に返して(これを返値と言います)、関数を終了するという意味を持ちます。この関数を、入力となる引数とともに呼び出すと、return の後の式の評価結果を返値として返します

返り値ということばがわかりにくいので実際に動かして確認します。簡単にいうと計算した答えを利用できる形にするのが"return"の仕事です。

例えば

bmi(100,50)*7

という感じで関数に"7"をかけたものを作り実行すると計算されて"350"と出力されます。print()を使ったものでは計算されません。

関数を使う時に最初に"?"なのは"retun"の役割、"値を返す"ということばで表現されることが多いので最初はなんだかわからないことがあると思います。実行した計算結果などを関数名で再利用ができるようになるということです。

この記事が気に入ったらサポートをしてみませんか?