Pythonの基本 関数とは?

f:id:wataru_boss:20180527100604p:plain
こんにちは。BOSSです。

Pythonに限らず、様々な言語で関数というものを使用することがよくあります。

Pythonで言えば

def sample(△,△):
    ~~~~~
    return 〇〇

といった感じで定義されるものなんですが、そもそも関数ってどういったものなのかということをまとめておこうかと思います。

関数とは

そもそも関数とは

ある特定の処理をまとめたものです。

なぜそんなことをするのか?

結論から言えば、何度も何度も同じ処理を用いたいプログラムを書く時、特定の処理だけ抜き出して関数にしておけば毎回その処理を書かなくても良いというメリットがあります。

また、処理内容ごとに分けることができ、例えば統計的なプログラムを組む時

  • 平均を求める処理

  • 標準偏差を求める処理

  • 相関係数を求める処理

といったようにそれぞれの処理を分割して記述することができます。例に平均を求める関数を見て見ましょう。

def average(score_list):
    total = 0
    for score in score_list:
        total += score

    return total / len(score_list)

このようにしてdef 〜〜で平均を求める関数を定義しており、returnまでが関数となります。

一つずつ意味を詳しく見ていきましょう。

引数と戻り値

さきほど例であげた関数を分解して見て見ましょう。

f:id:wataru_boss:20180517085713p:plain

defの直後にあるのが関数名になります。

関数は基本的に、関数に値を受け渡しある特定の処理を施した結果を返すという使い方をします。

ここで関数に受け渡された値を引数

返すべき結果を戻り値と呼びます。

引数、戻り値というのは何個でもよくて

def sample(〇〇, △△,... ):

return ××, □□

といくつも値を引き渡すことができます。

関数を作り、使ってみる

さて、では具体的に関数を使用するプログラムを演習してみます。

内容はデータから平均を求める関数を作り使用する。

関数は上記のものを使っていけば良いです。

平均を求めるデータは以下の通りとしましょう。

スコアリストのイメージは学校のテストの得点です。 [71, 69, 84, 92, 44]

うまく組めたら結果はこうなると思います。

72.0

Process finished with exit code 0

以下にプログラムの一例を示します。

def average(score_list):
    total = 0
    for score in score_list:
        total += score

    return total / len(score_list)




scores = [71, 69, 84, 92, 44]
mean = average(scores)
print(mean)

さてこんな感じですね。

今回は明示的にリストに値を入れて定義しております。

f:id:wataru_boss:20180518140310p:plain

関数の使い方はこんな感じで、関数名を宣言して()の中に受け渡す値を入れると値が返ってきます。

この場合はscoresリストがaverage関数に受け渡され、計算された平均値が変数meanに代入されます。

そしてmeanが表示されるという流れになっています。

まとめ

今回はPythonの基本 関数の定義の仕方、使い方についてまとめてみました。

関数を使うことのメリットは先に挙げた通り、

何度も何度も同じ処理を用いたいプログラムを書く時毎回その処理を書かなくても良い

でした。このことについてはまた次の機会に記事としてまとめたいと思います。