ここでは、Pythonにおける「関数」について解説しています。
この記事の対象
関数とは?
関数とは、プログラム内で特定の処理をまとめた再利用可能なコードブロックです。関数を使うことで、同じ処理を繰り返し実行する必要がある場合や、大きなプログラムをより小さな部分に分割することができます。
特に、同じような処理を何度も書くことはBugの元になります。そのような場合に関数とすることで簡略化して記述します。
関数の定義と呼び出し
関数は「def」キーワードを使用して定義します。関数名、引数、処理内容を指定します。関数を呼び出すには、関数名に括弧()を付けて呼び出します。
def test():
print("Hello, world!")
test()
引数と戻り値
def 関数名(引数1,引数2,...):
処理
return 戻り値
「引数」とは関数で使用する値のことです。引数は必ず指定するものではなく、加えて複数指定するものでもないことが特徴です。また、「戻り値」は関数の処理での結果で返ってくる値を指します。戻り値がない場合はreturnを省略できます。
デフォルト引数
関数の引数にはデフォルト値を設定することもできます。デフォルト引数が指定されている場合、引数が省略された場合にデフォルト値が使用されます。
def test(name="hoge"):
print("Hello, " + name + "!")
test() # Hello, hoge!
test("hogehoge") # Hello, hogehoge!
可変長引数
関数に可変長の引数を受け取る場合、アスタリスク(*)を使って引数を指定します。可変長引数はタプルとして関数内で扱われます。
def test(*numbers):
for num in numbers:
print(num)
test(1, 2, 3) # 1 2 3
test(10, 20, 30, 40) # 10 20 30 40
可変長引数については以下をご参照下さい。
関数を用いた使用例
#関数を用いた使用例
def test(x,y):
return (x+y)/2
print(test(60,77)) #68.5
出力結果は「68.5」です。計算結果が出力される簡単な処理になっています。「60」と「70」を関数内で計算してその結果を返す内容になっています。
関数の操作
項目 | 内容 |
Docstring | 関数を用いるとき、処理内容に対する説明文があると後から修正したり加えたりするときに便利です。 |
再帰 | 関数における再帰とは、関数の中で関数を呼び出すことを指します。 |
関数と引数の関係 | 関数内で使用する要素を引数にすることが可能です。 |
関数と変数の関係 | 関数における変数にはルールがあります。ローカル変数とグローバル変数を利用することで効率が良いプログラムを作成可能です。 |
無名関数 | 無名関数とは名前の無い関数を指します。変数に代入して使用することで簡単に使用できます。 |
その他、関数を用いた使用例
項目 | 内容 |
任意のリスト内の中央値を求めるプログラム | リンク先では任意のリスト内の中央値を求めるプログラムを解説しています。 |