Ada contoh doctstring untuk Sphinx dalam dokumentasinya. Secara khusus mereka menunjukkan yang berikut:
def public_fn_with_googley_docstring(name, state=None):
"""This function does something.
Args:
name (str): The name to use.
Kwargs:
state (bool): Current state to be in.
Returns:
int. The return code::
0 -- Success!
1 -- No good.
2 -- Try again.
Raises:
AttributeError, KeyError
A really great idea. A way you might use me is
>>> print public_fn_with_googley_docstring(name='foo', state=None)
0
BTW, this always returns 0. **NEVER** use with :class:`MyPublicClass`.
"""
return 0
Meskipun Anda bertanya tentang sphinxsecara eksplisit, saya juga akan menunjuk ke Panduan Gaya Google Python . Contoh docstring mereka tampaknya menyiratkan bahwa mereka tidak menyebut kwarg secara khusus. (variabel_lain = Tidak ada)
def fetch_bigtable_rows(big_table, keys, other_silly_variable=None):
"""Fetches rows from a Bigtable.
Retrieves rows pertaining to the given keys from the Table instance
represented by big_table. Silly things may happen if
other_silly_variable is not None.
Args:
big_table: An open Bigtable Table instance.
keys: A sequence of strings representing the key of each table row
to fetch.
other_silly_variable: Another optional variable, that has a much
longer name than the other args, and which does nothing.
Returns:
A dict mapping keys to the corresponding table row data
fetched. Each row is represented as a tuple of strings. For
example:
{'Serak': ('Rigel VII', 'Preparer'),
'Zim': ('Irk', 'Invader'),
'Lrrr': ('Omicron Persei 8', 'Emperor')}
If a key from the keys argument is missing from the dictionary,
then that row was not found in the table.
Raises:
IOError: An error occurred accessing the bigtable.Table object.
"""
pass
ABB memiliki pertanyaan tentang jawaban yang diterima dari referensi dokumentasi manajemen subproses. Jika Anda mengimpor modul, Anda dapat dengan cepat melihat modul docstrings melalui inspect.getsource.
Contoh dari interpreter python menggunakan rekomendasi Silent Ghost:
>>> import subprocess
>>> import inspect
>>> import print inspect.getsource(subprocess)
Tentu saja Anda juga dapat melihat dokumentasi modul melalui fungsi bantuan. Misalnya bantuan (subproses)
Saya pribadi bukan penggemar subproses docstring untuk kwargs sebagai contoh, tetapi seperti contoh Google itu tidak mencantumkan kwargs secara terpisah seperti yang ditunjukkan dalam contoh dokumentasi Sphinx.
def call(*popenargs, **kwargs):
"""Run command with arguments. Wait for command to complete, then
return the returncode attribute.
The arguments are the same as for the Popen constructor. Example:
retcode = call(["ls", "-l"])
"""
return Popen(*popenargs, **kwargs).wait()
Saya menyertakan jawaban ini untuk pertanyaan ABB karena perlu dicatat bahwa Anda dapat meninjau sumber atau dokumentasi modul apa pun dengan cara ini untuk mendapatkan wawasan dan inspirasi untuk mengomentari kode Anda.