14. 関数

Pythonにおける関数(定義、引数、戻り値、呼び出し)

更新日:

関数とは、引数(ひきすう)と呼ばれる変数を受け取り、定められた処理を実行して結果を返す一連の命令のかたまりのことです。何度も繰り返し利用する処理を関数にしておくと、同じコードを記述する必要が無く、関数を呼び出すだけで良いので非常に便利です。
 
 
関数に渡す変数を引数と言います。また関数で何かの処理を行い、関数から戻ってくる値を戻り値と言います。
 
 

動画教材紹介私(清水 義孝)が作成したコース「Pythonによるビジネスに役立つWebスクレイピング」(Udemyへのリンク)が新発売!今なら期間限定で89%オフ!!!

Pythonにおける関数の定義方法

関数は以下のように定義します。まずdef 文を用いて関数名、関数に渡す引数名を定義します。また引数に初期値を定義することもできます。

def 関数名(引数1, 引数2, 引数3…):
      処理1
      処理2
      …
      return 戻り値

def文の後に実行したい処理を記述し、最後にreturn で関数の戻り値を指定します。これらの関数に含まれる処理や戻り値は、全てインデント(字下げ)して記述します。

戻り値は省略することもできます。また複数の戻り値を指定することもできます。複数指定する場合は、以下のようにreturn文の後にそれぞれの戻り値をカンマ','で区切って記述します。

return 戻り値1, 戻り値2, 戻り値3

 
 

動画教材紹介私(清水 義孝)が作成したコース「Pythonによるビジネスに役立つWebスクレイピング」(Udemyへのリンク)が新発売!今なら期間限定で89%オフ!!!

Pythonにおける関数の例1

それではいくつか例を見ていきましょう。引数に変数a、bを渡すと足し算をして、その結果を戻り値として返す関数func_addを定義してみます。

In [1]: def func_add(a, b):
...:       c = a + b
...:       return c

先ほど定義した関数func_addに引数3、5を渡して呼び出すと、結果として足し算された8が返ってきていることが確認できます。

In [2]: func_add(3, 5)
Out[2]: 8

 
 

Pythonにおける関数の例2(引数の初期値)

先ほど定義した関数func_addを少し変更して、変数bに対してb = 1と記述し、初期値1を設定します。この場合、関数func_addを呼び出す際に、2番目の引数bに対して何も値を渡さないと1と見なして処理を行います。

In [3]: def func_add(a, b = 1):
...:       c = a + b
...:       return c

先ほど定義した関数func_addに引数3のみを渡して呼び出すと、結果として3と1が足し算された4が返ってきていることが確認できます。

In [4]: func_add(3)
Out[4]: 4

 
 

動画教材紹介私(清水 義孝)が作成したコース「Pythonによるビジネスに役立つWebスクレイピング」(Udemyへのリンク)が新発売!今なら期間限定で89%オフ!!!

Pythonにおける関数の例3(戻り値が複数)

今度は戻り値が複数ある場合の例です。引数に変数a、bを渡すと足し算、引き算、掛け算、割り算をして、その結果を戻り値として返す関数func_arithを定義します。複数の戻り値は、return文の後にそれぞれカンマ','で区切って記述します。

In [5]: def func_arith(a, b):
...:       c1 = a + b
...:       c2 = a - b
...:       c3 = a * b
...:       c4 = a / b
...:       return c1, c2, c3, c4

先ほど定義した関数func_arithに引数6、2を渡して呼び出し、結果をprint文で表示すると足し算された8、引き算された4、掛け算された12、割り算された3が返ってきていることが確認できます。

In [6]: c1, c2, c3, c4 = func_arith(6, 2)
...: print(" a + b は {0} です。\n a - b は {1} です。\n a * b は {2} です。\n a / b は {3} です。".format(c1, c2, c3, c4))
Out[6]: a + b は 8 です。
            a - b は 4 です。
            a * b は 12 です。
            a / b は 3.0 です。

 
 
著書の紹介です。

 






まとめ記事

1

Python3におけるWEBスクレイピングのやり方について初心者向けに解説した記事です。   Requests、Beautiful Soup、Selenium、Pandas、newspape ...

2

Pythonの基本的なトピックについて、チュートリアル形式で初心者向けに解説した記事です。プログラミング未経験者や初心者でもわかりやすいよう、丁寧に解説しています。   Pythonでデータ ...

3

Pandas(パンダス)とは、データを効率的に扱うために開発されたPythonのライブラリの1つで、データの取り込みや加工・集計、分析処理に利用します。   Pandasには2つの主要なデー ...

4

データ分析、機械学習、ディープラーニングにはグラフの描画による可視化は不可欠です。データは、加工前の状態ではただの数字の羅列でしかなく、一目で必要な情報が伝わるものではありません。それを集計しグラフに ...

5

NumPy(ナンパイ)は、数値計算を効率的に行うための拡張ライブラリです。ベクトルや行列などを効率的に数値計算するための数学関数ライブラリを提供します。NumPyを使うことにより、数値計算をより早く、 ...

-14. 関数

Copyright© AI-interのPython3入門 , 2020 All Rights Reserved.