Googleのコードスタイルを使用して関数をドキュメント化しようとしています。次に、スフィンクスとナポレオン拡張機能を使用してドキュメントを作成します。この関数は、2つの引数を返すという点で珍しいものです。ナポレオンがこれを処理するとは思わない。もしそうなら、誰かがそれをどのように扱うか教えてもらえますか?
def foo(a):
'''one line summary
longer explanation
Args:
a (int): parameter description
Returns:
servers (list): list of servers to use
msg (str): logging message string
'''
pass
複数の引数を返すのは優れたコーディングスタイルではないというメッセージが表示されるかもしれませんが、これを実行できますか?生成されたhtmlは、これらの2行を1つの引数の説明の一部として扱います。サーバーとmsg行の間に改行を入れると役に立ちますが、それでも1つの引数が文書化されています。
Pythonは単一のオブジェクトのみを返します。あなたが電話する場合
serv,msg = foo(myinput)
次に、関数がこのコードで戻るときに生成されるexpression_listタプルを明示的に展開します。
return servers,msg
あなたのdocstringはこのようなものを読むべきです(ナポレオングーグルスタイルで)
"""
one line summary
longer explanation
Args:
a (int): parameter description
Returns:
(Tuple): Tuple containing:
servers(list) servers to use
msg (str): logging message string
"""
または、ナポレオンNumPyスタイルの場合:
"""
one line summary
longer explanation
Parameters
----------
a : int
parameter description
Returns
-------
servers : list
servers to use
msg : str
logging message string
"""
python docs for return andおそらく expression_list を見てください
Googleスタイルは、複数の戻り値をサポートしていません。回避策として、次のものを使用できます。
Returns:
2-element Tuple containing
- **rates** (*array*): the unnormalized rates (just the sum of the
exponential kernels). To obtain rates in Hz divide the
array by `2*tau` (or other conventional `x*tau` duration).
- **nph** (*array*): number of photons in -5*tau..5*tau window
for each timestamp. Proportional to the rate computed
with KDE and rectangular kernel.
これにより、返された各アイテムに複数行の説明がある場合でも、Nice出力が得られます。