Pythonで三角形の面積を計算する関数を定義して使ってみる
概要
Pythonプログラムで「自作の関数を作る(定義する)」「作った関数を利用する(呼び出す)」コード例を示します。
(数学で学習する "yはxの関数である" の関数とは異なり,プログラムでは「機能」のことを関数と呼んでいると思ってください)
三角形の面積を計算するプログラム
base = 10 height = 5 area = base * height / 2 print("area =",area)
このプログラムを実行すると,変数に代入した値の計算結果を表示します。
値を変えて何度も計算したいときに,同じ記述を繰り返すよりも「関数」という仕組みを使うとコードをすっきりと記述できます。
三角形の面積を計算する関数
# 関数の定義 def triangle_area(base,height): area = base * height / 2 return area # 関数の呼び出し ret = triangle_area(10,5) print(ret) ret = triangle_area(20,5) print(ret)
実行結果
25.0
50.0
- 関数の定義(あらかじめ処理の内容を記述しておく関数の本体です)
関数を定義するときは,次の形式で記述します。
コード例で独自に作った関数名が triangle_area です。呼び出し時に関数に渡される変数を引数と呼びます(カッコ内の base と height が引数です)。この関数の中で面積の計算結果を変数 area に代入して,戻り値として area の値を呼び出し元に返します。
- 関数の呼び出し(呼び出しで実際に関数の処理が行われます)
関数を利用するときは「関数名(引数1, 引数2, … )」で記述します。
コード例では引数の値を変えて,2回 triangle_area関数の呼び出しを行っています。戻り値は変数 ret に代入して計算結果として表示しました。
参考 関数呼び出しの例
# 関数の定義 def triangle_area(base,height): print("[triangle_area] base =",base, "height =",height) area = base * height / 2 return area # 関数の呼び出し ret = triangle_area(10,5) print("area =",ret) ret = triangle_area(20,5) print("area =",ret) # 引数は変数でもよい a = 30 b = 10 ret = triangle_area(a,b) print("area =",ret) # 関数は色々な場所で呼び出せる print("area =",triangle_area(7,3))
実行結果
[triangle_area] base = 10 height = 5
area = 25.0
[triangle_area] base = 20 height = 5
area = 50.0
[triangle_area] base = 30 height = 10
area = 150.0
[triangle_area] base = 7 height = 3
area = 10.5
<2023-01-10追記>
※関数を定義して呼び出すときは,コードの記述位置に注意しましょう。
Pythonのプログラムは1行1行読み込みながら実行される(インタプリタとよばれます)ので,関数定義の読み込み前に関数呼び出しが行われるとエラーになります。