Phython

【Python】関数の定義方法
引数・戻り値・Docstringについても詳しく解説!

本記事では、pythonにおける関数の作り方について、解説していこうと思います。

関数とは何なのかといった説明から始まり、関数を作るうえで必要な引数・戻り値・Docstringについてどのような意味を持つのかまで丁寧に説明しているので、「そもそも関数って何?」という方にも安心して見ていただける内容になっていると思います。

ぜひ最後まで見ていってください。

ちなみに、pythonをまだインストールしていないといった方は以下の記事を参考にしてインストールしてみましょう。

この記事でわかること

  • 関数の作り方
  • 作成した関数の使い方
  • 引数の設定方法
  • 戻り値の設定方法
  • Docstringの設定方法

 関数について

まず初めに、そもそも関数とは何なのかについて説明していこうと思います。

関数とは?

pythonにおける関数とは、一言でいうと『さまざまな処理がまとまった便利な道具』のことです。

もともと『print関数』などのように、pythonにデフォルトで定義されている関数というものも存在するのですが今回使用するのはそういったデフォルトで定義されている関数ではなく、自分で作成するオリジナルの関数です。

関数の名前はもちろん、その関数がどのような処理を行うのかも自分で決定することが出来るため関数を用いてできることの幅が広がります。

では、そんな関数について、その作り方と使用方法を以下で確認していきましょう。

関数の作成方法

まずは関数作成の基本構文についてです。

def 関数名():
処理

上記のように、関数名とその関数で行いたい処理を記述することで関数を作成することが出来ます。
以下で具体的な例を見ていきましょう。

def original_function():
    a = 10
    b = 20
    print("This is function.")
    print(a + b)

今回のコードでは、関数名『original_function』といった関数を作成しており、この関数では『This is function.』といった文字を出力したり、『a+b』の計算結果を表示させたりすることが出来ます。

関数の使い方

では、先ほど作成した関数を実際に使用してみましょう。

<input>

def original_function():
    a = 10
    b = 20
    print("This is function.")
    print(a + b)

# 関数呼び出し
original_function()

<output>

This is function.
30

関数の外で、『関数名()』と記述することで指定の関数の処理を実行することが出来ます。
ちなみに、関数をコード内のどこかで使用することを『関数を呼び出す』と言ったりするので覚えておきましょう。

関数を使用するメリット

関数をわざわざ作成して使用するメリットとして以下のようなものがあげられます。

  • 同じ処理を何度も書かなくてよいため、作業の手間を省くことが出来る
  • エラーが発生した時も、関数内の内容を変えてしまえばよいためエラーの修正が楽になる
  • 単純にコード量が減るため、コードが読みやすくなる

まず、関数を使用してしまえば複数行にわたる処理も『関数名()』の一行で済んでしまうため、同じ処理を何度も行いたいときに非常に有効に使えますね。

また、エラーが発生した際も、関数内の内容を変更するだけでよいのでたくさんの場所を修正しなくてはならないといったことが起きにくくなります。

さらに、当たり前ですが関数を用いることでコードの量が減るので、他の人から見てコードが読みやすくなります。
関数名と処理の内容を対応付けてしまえばさらにコードが読みやすくなること間違いないですね。

 関数の様々なカスタマイズ

続いては、関数の様々なカスタマイズ方法として以下の3つについてご紹介していこうと思います。
どれも関数を扱う上で非常に重要な要素になっているので、使い方をよく確認しておきましょう。

  • 引数:関数に値を渡す
  • 戻り値:関数が呼び出されたときに渡す値
  • Docstring:関数の説明

引数:関数に値を渡す

先ほど例に挙げたような関数は、呼び出しただけである処理を行ってくれるといったものなのですが、ある値を渡してその値に対する結果を表示してくれるといった関数も作成することが可能です。

実際にどのようなものかを見ていきましょう。

<input>

def original_function(a):
    print(a)

original_function(5)
original_function(10)

<output>

5
10

上記のコードのように、関数を呼び出す際に()の中に好きな数字を入れることで、その数字を関数に渡して処理させることが出来ます。
ちなみに、関数を作成する際には、()の中に文字を入れて「渡された数字はこの文字の中に入りますよ」といったことをコンピュータに伝えてあげないといけません。

このように、関数に渡される値のことを『引数』と言います。

戻り値:関数が呼び出されたときに渡す値

関数は呼び出された後、関数内の処理を上から順に実行していき、最後に達すると呼び出し元へNoneといった値を渡して関数の処理を終了します。

<input>

def original_function(a):
    print(a)

result = original_function(5)
print(result)

<output>

5
None

しかし、『戻り値』といったものを設定することで、関数の処理を終えた時に呼び出し元に何かしらの値を渡すことが出来ます。
以下のような感じです。

<input>

def original_function(a):
    return 2 * a

result = original_function(5)
print(result)

<output>

10

このような形で関数の最後に『return文』を追加することで戻り値の設定が行えます。
この戻り値を設定すると、関数が呼び出されたときに何かしらの値を呼び出し元へと返すことができるので覚えておきましょう。

Docstring:関数の説明

最後に、『Docstring』についてです。

<input>

def original_function(a, b):
    """Example function with types documented in the docstring.

    Args:
    a (int): The fist parameter.
    b (int): The secound parameter.

    Return:
        a + b: sum of a and b
    """
    print(a)
    print(b)
    return a + b


result = original_function(10, 20)
print(result)

<output>

10
20
30

Docstringとは、その関数の説明文のことです。
上記のコードで『""" """』で囲まれた部分がDocstringに当たります。

Docstringは、その関数がどのような機能を持っているかを、自分や他の人がパッと見て理解できるように付け加えるもので、以下のようなコードを記述することで、Docstringを出力することが出来ます。

<input>

def original_function(a, b):
    """Example function with types documented in the docstring.

    Args:
    a (int): The fist parameter.
    b (int): The secound parameter.

    Return:
        a + b: sum of a and b
    """
    print(a)
    print(b)
    return a + b


var = original_function.__doc__
print(var)

<output>

Example function with types documented in the docstring.

    Args:
    a (int): The fist parameter.
    b (int): The secound parameter.

    Return:
        a + b: sum of a and b

 まとめ

今回は、pythonにおける関数について作成方法や使用方法から、さまざまなカスタマイズまで紹介してきましたがいかがだったでしょうか。

コードを書いていると、同じような処理を関数でまとめたりすることは多々あり、早めに慣れておく必要があります。

本記事の内容を参考にして自分でも関数をガンガン使用し、コーディングの効率化を図りましょう。

-Phython
-,