前回はsphinxによるソースコードからのドキュメント自動生成について学習しました。今回はコード内のdocstringの記述方法について学習します。pythonのdocstringの記法はEpytext、google、Numpydocなどがあるのですが、ここではPEP287で推奨されているreSTでのdocstringの書き方について説明します。
docstringの書き方
クラス概要
クラス定義の直下にダブルクォート3つで囲った部分に記述します。
クラス属性
クラス属性には属性の宣言直下にdocstringを記述するか、直前に「#: コメント」と記述します。
関数・メソッド
概要はクラスと同様、定義の直下にダブルクォート3つで囲った部分に記述します。パラメータ、戻り値、型情報について:field:というフィールドを使って記述します。
""" :param int arg1: 引数の説明 """
パラメータの型は上記のように:paramの後に続けて書いても良いですし、以下のように:paramと:typeを分けて記述することも可能です。
""" :param arg2: 引数 :type arg2: int """
サンプル
それではサンプルです。
"""
Sample機能提供モジュール
"""
class Sample:
"""
sample機能を実装したクラスです。
"""
bar = 1
""" xxを保持するメンバです """
#: yyを保持するメンバです
foo = 1
def __init__(self):
"""
初期化処理を行います。
"""
self.x = 'hoge'
def add(self, arg1, arg2):
"""
引数で指定した値を足し算して返します。``arg1 + arg2``
:param int arg1: 足される値。
:param arg2: 足す値。
:type arg2: int
:rtype: int
:return: 足し算した結果。
"""
return a + b
出力結果htmlは以下のようにクラス概要、クラス属性、関数概要、関数パラメータに関する記述が出力されます。

