30

Google コード スタイルを使用して関数をドキュメント化しようとしています。この関数は、sphinx をナポレオン拡張と共に使用してドキュメントを作成します。この関数は、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 つの引数の説明の一部として扱います。サーバーとメッセージ行の間に改行を入れると役に立ちますが、それでも1つの引数を文書化しています。

4

4 に答える 4

34

Python は単一のオブジェクトのみを返します。電話すれば

serv,msg = foo(myinput)

次に、このコードで関数が返されたときに生成される expression_list タプルを明示的に展開しています

return servers,msg

docstring は次のように読む必要があります (ナポレオンの Google スタイルを使用)

"""
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 
"""

returnとおそらくexpression_listについては、python docs を参照してください。

于 2015-03-30T10:01:57.303 に答える