関数アノテーション

まえがき(デコレータではないので注意)

PythonにはJavaのアノテーションのように関数宣言の前に@から始まる文を書くことができ、これを関数デコレータまたは単にデコレータと呼びますが、ここでは純粋な注釈をいれるアノテーションについて説明します。(デコレータの説明はこちら

関数アノテーション

Python3ではドキュメンテーション文字列に加え、関数の定義部分に引数、戻り値の説明を記述することができます。以下の構文で記述します。

関数アノテーション
def 関数名(arg1: 'arg1の説明', arg2: 'arg2の説明', , ,)->'戻り値の説明':
    処理

サンプルを見てみましょう。

def my_func(n: 'この値から足し始める', m:'この値まで足す') -> 'nからmの合計値':
    """ nからmまでの合計を返す関数 """
    ret = 0
    for i in range(n, m+1):
        ret += i

    return ret

引数、戻り値ごとに注釈を記述することができます。