フォーマット
他の投稿が示したように、Python docstringはいくつかの形式に従って記述できます。ただし、デフォルトのSphinx docstring形式は言及されておらず、reStructuredText(reST)に基づいています。このブログ投稿では、主なフォーマットに関する情報を入手できます。
reSTはPEP 287で推奨されていることに注意してください。
docstringに使用される主な形式は次のとおりです。
-Epytext
歴史的には、javadocのようなスタイルが普及していたため、Epydoc(呼び出されたEpytext
形式)がドキュメントを生成するためのベースと見なされていました。
例:
"""
This is a javadoc style.
@param param1: this is a first param
@param param2: this is a second param
@return: this is a description of what is returned
@raise keyError: raises an exception
"""
- 残り
今日、おそらくより一般的なフォーマットは、ドキュメントを生成するためにSphinxによって使用されるreStructuredText(reST)フォーマットです。注:これはJetBrains PyCharmでデフォルトで使用されます(メソッドを定義してEnterキーを押した後、三重引用符を入力します)。また、Pymentの出力フォーマットとしてデフォルトで使用されます。
例:
"""
This is a reST style.
:param param1: this is a first param
:param param2: this is a second param
:returns: this is a description of what is returned
:raises keyError: raises an exception
"""
-Google
Googleには、よく使用される独自の形式があります。Sphinxで解釈することもできます(つまり、Napoleonプラグインを使用)。
例:
"""
This is an example of Google style.
Args:
param1: This is the first param.
param2: This is a second param.
Returns:
This is a description of what is returned.
Raises:
KeyError: Raises an exception.
"""
さらに多くの例
-Numpydoc
Numpyは、Google形式に基づいており、Sphinxで使用できる独自のnumpydocに従うことをお勧めします。
"""
My numpydoc description of a kind
of very exhautive numpydoc format docstring.
Parameters
----------
first : array_like
the 1st param name `first`
second :
the 2nd param
third : {'value', 'other'}, optional
the 3rd param, by default 'value'
Returns
-------
string
a value in a string
Raises
------
KeyError
when a key error
OtherError
when an other error
"""
変換/生成
Pymentのようなツールを使用して、まだドキュメント化されていないPythonプロジェクトにドキュメント文字列を自動的に生成したり、既存のドキュメント文字列(複数の形式が混在している可能性があります)を別の形式に変換したりできます。
注:例はPymentのドキュメントから引用しています