【Python】関数と引数の定義

この記事では、Pythonで関数と引数を定義する方法について入門者向けにソースコード付きでまとめました。

関数・引数とは

関数とは、「処理のまとまり」のことです。
プログラムの規模が大きくなるほど、関数で処理を分けて記述した方が、効率的で分かりやすいコードを書くことができます。
中学数学や高校数学でも「1次関数」「2次関数」が出てきましたが、プログラムでも考え方はほとんど同じです。

例えば、次のような1次関数について考えます。

(1)   \begin{eqnarray*} f(x)=2x+1 \end{eqnarray*}

このとき、f(x)を関数、xを変数といいます。
この関数は、「変数xを2倍して1を加える処理をまとめたもの」と言えます。
一度そのような関数を定義しておけば

(2)   \begin{eqnarray*} f(0)=1\\ f(1)=3\\ f(2)=5 \end{eqnarray*}

という風に処理を簡潔に記述できます。
プログラムの世界では、変数xのことを「引数」といいます。

関数定義・呼び出し

Pythonでは、関数定義に「def 関数名:」を使います。
C言語のように関数に型を定義する必要はありません。

# -*- coding: utf-8
# 関数定義
def func():
  return 0

# 関数の呼び出し
x = func()

# 返り値を出力
print(x) # 0

■return文について
4行目にある「return」は関数を呼び出した時にreturnの右に記述した値を返します。
この返す値のことを「返り値」といいます。
このサンプルコードでは、「return 0」となっているので、func関数を呼び出すたびに常に0を返します。
そのため、変数xには0が代入されます。

引数定義

引数とは、「関数に代入する値」のことです。
関数で処理させるのに必要なデータを渡す役割を持ちます。
関数同様、引数も型を定義する必要はありません。

書式

def 関数名(引数名1, 引数名2, ...):
# -*- coding: utf-8
# 関数定義
def func(a, b):
  c = a + b
  c = c * 2
  return c

# 関数呼び出し(1回目)
x = func(1, 2)

print(x)  # 6

# 関数呼び出し(2回目)
x = func(4, 5)

print(x)  # 18

上記のプログラムの場合、「関数の返り値は2つの引数を加算した値×2」となっています。
このように関数を定義しておけば、同じ計算式を2回も書く必要がなく、効率的で分かりやすい記述ができます。
計算式や処理が複雑になるほど、関数が便利になっていきます。

関連記事
1 Python入門 サンプル集

コメント

  1. 匿名 より:

    function の略である func のはずですが fanc になっています