関数とは
関数とは実行したとき、あらかじめ定めておいた処理を実行する命令のことです。
イメージ的には複数の命令をひとまとめにしたようなものですね。
関数という言葉自体は中学数学で『入力xを決めると、それに対して出力yも決まるとき、yをxの関数という。』と習ったと思いますが、プログラミングでは入力や出力は必ずしも必要ではありません。
関数を定義する
実際に見てみた方が早いと思うので、例を出してみます。
def func1():
print("りんご")
print("みかん")
print("ぶどう")
このように記述して実行すると、関数を定義(設定)することができます。
関数の定義の仕方は1行目のように、def の後に任意の関数名(今回はfunc1()としました)、その後にコロン:をつけ、2行目以降に実行したい処理を書いていきます。
今回の関数は実行すると2・3・4行目の3つのプリント関数が実行されることになりますね。
関数を実行する
関数を実行するには、先ほど決めた関数名を書いて実行するだけです。
func1()
りんご
みかん
ぶどう
先ほど定義した通り、print(“りんご”)、print(“みかん”)、print(“ぶどう”)の三つの処理が実行されているのが確認できるかと思います。
関数の入力「引数」
プログラミングでは、関数の入力の部分を引数と呼びます。
引数は関数名の()の中に書くのですが、これも実際に見た方が早いと思います。
def func2(x):
y=x+2
print(y)
関数に値を入力したければ、もちろん定義の段階で「値が入力される前提の関数」、つまり引数を持つ関数にする必要があります。
引数を持つようにするには上記のように、()内に任意の変数名を入力しておきます。こうすることで後で関数を実行したときに()内に書いた値が変数に代入されます。
func2()では、まず入力された値(引数)をxとし、2行目でxに2を足したものをyに代入、3行目でそのyをprint()関数で出力するという流れになっています。
関数を実行するときには、()の中には実際の値を書きます。
func2(10)
12
ここで、xやyに値を代入するのは関数実行の中だけの話、つまりは一時的な代入であり、例えばfunc2(10)を実行し終わった後にはyという変数に12が保存されているわけではありません。
関数の出力「返り値」
関数を実行したとき、結果を確認するだけならprint()関数で画面に表示してしまえば良いわけですが、結果をさらに使いたい場合は関数の返り値として設定します。
def func3(x):
y=x+2
return y
返り値は「return 変数」と書けば設定できます。
返り値を設定すると、例えば次のような使い方ができるようになります。
t=func3(10)+5
print(t)
17
先程のfunc2()関数ではprint()関数で画面に結果を表示しているだけでしたが、func3()関数のように返り値を設定しておくと、func3(10)自体を計算結果である12という値として使えます。
コメント