関数を使ってみよう

ここからは少し難しくなりますが、プログラミングの最重要項目の1つとも言える関数について解説していきます。

関数とは

関数とは一言で説明すると「再利用できる処理の塊」のことを指します。関数に引数(ひきすう)と呼ばれる入力値を指定すると、何らかの処理を実行してくれます。

組み込み関数の例

通常、関数は自分で作成することが多いのですが、Pythonには予めいくつか関数が用意されており、組み込み関数と呼ばれています。例えば、今まで使ってきたprint関数は組込関数の一種です。print関数を例に使い方を見てみましょう。

text = "こんにちは"
print(text)

上の例の場合「引数にtextを指定してprint関数を実行した」状況です。関数を実行することを「関数を呼び出す」と書く場合もあります。

関数の戻り値

また、関数には処理をした値を出力値として返してくれるものもあります。この出力値のことを「戻り値」と呼びます

数値のリストなどの合計値を計算して値を返してくれる組み込み関数、sumが例として挙げられます。実際に使ってみましょう。

mylist = [1, 2, 3, 4, 5]
sum_var = sum(mylist)
print(sum_var)

上のプログラムを実行すると、[1, 2, 3, 4, 5]の数値の合計がsum関数で実行されます。戻り値は関数呼び出しとイコールで結んだ左辺の変数に代入されます。

戻り値のある関数の呼び出し方は、以下のようになります。

関数呼び出し
戻り値を格納する変数 = 関数名(引数)

複数の引数、複数の戻り値

上の例では、引数に対して単一の値を指定しましたが、複数の値を並べて書いたりする場合もあります。また、複数の値を返す関数も存在します。例えば、divmodという関数は、2数の商と剰余を返す関数です。呼び出す場合、以下のように記述します。16÷3の商と剰余を変数q, mに格納しています。

q, m = divmod(16, 3)
print(q, m)

上のコードの通り、複数の引数をカンマで区切って並べます。また、複数の戻り値は変数をカンマで並べて格納することができます。

補足 組込関数の引数と戻り値はどうやって調べるの?

様々な組込関数が用意されていますが、大抵のエンジニアは全部覚えているわけではなく、必要に応じて公式ドキュメントを参考にします。

どんな組み込み関数があるのか興味がある方は是非参考にしてください。
https://docs.python.org/ja/3/library/functions.html

演習

演習問題1

組込関数のlenは引数に指定したリストの要素数を返してくれます。このlen関数を使用して、リスト[1, 3, 5, 7, 9]の要素数を表示させてください。

解答例

my_list = [1, 3, 5, 7, 9]
x = len(my_list)
print(x)

関数で躓く方は結構多いのですが、まずは使うということから始めると比較的楽に学習を進められると思います。次回は関数を独自に作成してみましょう。