※この記事にはプロモーションが含まれています。

14. 関数

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

更新日:

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

動画教材紹介私(清水 義孝)が作成したコース「Pythonによるビジネスに役立つWebスクレイピング」(Udemyへのリンク)が発売中!
発売数8,500本突破を記念して、今だけ期間限定で87%オフの大セール中!!!

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

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

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

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

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

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

 
 

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によるビジネスに役立つWebスクレイピング」(Udemyへのリンク)が発売中!
発売数8,500本突破を記念して、今だけ期間限定で87%オフの大セール中!!!

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における関数の例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 です。

 
 
著書の紹介です。

 

 
 
 
最後に...


Pythonの学習においては、実際に様々なプログラムを書いて試していくことが非常に重要です。Pythonについて、さらに詳しく学ばれたい方は、以下の私のUdemy講座をご検討いただければ幸いです。


Pythonを用いて世界中のWebサイトから自動的にデータ収集する方法を、基礎からていねいに学ぶことができます。Pythonを初めて学ばれた方も、最初に取り組みやすい内容になっています。


>> Pythonによるビジネスに役立つWebスクレイピング
発売数8,500本突破を記念して大セール中!期間限定になりますのでお早めに。
Pythonによるビジネスに役立つWebスクレイピング(BeautifulSoup、Selenium、Requests)講座の画面

既に8,500名以上の方に受講頂き、大変好評です。またコースに満足いただけない場合でも、30日返金保証があるので安心です。

期間限定の割引クーポンは、こちらから!
>> Pythonによるビジネスに役立つWebスクレイピング
   
   





-14. 関数

Copyright© ビジPy , 2024 All Rights Reserved.