Python での関数はまとまった処理に名前をつけておき, プログラム中で利用できるようにするものです. 同じ処理を複数回記述することを防ぎ, 再利用性を高めることが出来ます.
Python での関数は
ものです.
ここでの 引数 は関数の外部から値を受け取るための特別な変数, またはその変数の値のことで, 返り値 は関数が関数の外部に返す値のことです.
これまで登場した関数の例:
print
None
)input
Python で関数は次のようにして定義します.
def 関数名(仮引数名1, 仮引数名2, ...):
# 処理
return 返り値
Python では関数の中身の部分はインデント (字下げ) が必要です. 一般的に Tab
キーを用いて, 半角スペース4つを入力します. インデントを行うことで, その関数の処理と関数の外部の範囲を区別することが出来ます.
# 例: x と y を加算する関数
def add(x, y):
return x + y
# 例: x * y + z を計算する関数
def madd(x, y, z):
temp = x * y
return temp + z
関数を定義するだけでは関数の内部の処理は実行されません. 関数を利用するには次の関数適用を行います.
関数を利用するには 関数名(実引数1, 実引数2, ...)
のように記述します.
# 例:
x = add(2, 3)
print(x)
y = madd(2, 3, 4)
print(y)
関数を呼び出すと, 関数定義で定義した処理が実行されます. その際に指定した実引数が, 仮引数に代入されます.
# add(2, 3)の呼び出しのイメージ:
x = 2
y = 3
# x + y を返す
# madd(2, 3, 4) の呼び出しのイメージ:
x = 2
y = 3
z = 4
temp = x * y
# temp + z を返す
呼び出した関数が return
で返り値を返す場合, 返り値を print
関数で表示したり, 変数に代入することが出来ます.
# add(2, 3) の実行のイメージ:
# add(2, 3) →
# 5
# print(add(2, 3)) の実行のイメージ:
# print(add(2, 3)) →
# print(5) →
# 5 が表示される
# x = add(2, add(1, 3)) の実行のイメージ:
# x = add(2, add(1, 3)) →
# x = add(2, 4) →
# x = 6 →
# x に 6 が代入される
関数は再帰的に呼び出すことが出来ます. 階乗 (n! = 1 * 2 * 3 * ... * n
) を求めるプログラム (if 文は後ほど説明します):
def fact(n):
if n <= 0:
return 1
else:
return n * fact(n - 1)
print(fact(10))
mult3
を作ってみましょうinput_int
を作ってみましょう