前回は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は以下のようにクラス概要、クラス属性、関数概要、関数パラメータに関する記述が出力されます。


 
						

