Có một ví dụ về chuỗi học thuyết cho Sphinx trong tài liệu của họ. Cụ thể chúng hiển thị như sau:
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
Mặc dù bạn đã hỏi về nhân sưrõ ràng, tôi cũng sẽ chỉ đến Hướng dẫn kiểu Python của Google . Ví dụ về chuỗi docstring của họ dường như ngụ ý rằng họ không gọi tên kwargs một cách cụ thể. (other_silly_variable = Không có)
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 có câu hỏi về câu trả lời được chấp nhận khi tham khảo tài liệu quản lý quy trình con. Nếu bạn nhập một mô-đun, bạn có thể nhanh chóng xem docstrings của mô-đun đó qua opens.getsource.
Một ví dụ từ trình thông dịch python sử dụng đề xuất của Silent Ghost:
>>> import subprocess
>>> import inspect
>>> import print inspect.getsource(subprocess)
Tất nhiên bạn cũng có thể xem tài liệu mô-đun thông qua chức năng trợ giúp. Ví dụ trợ giúp (quy trình con)
Cá nhân tôi không phải là một fan hâm mộ của quy trình phụ docstring cho kwargs như một ví dụ, nhưng giống như ví dụ của Google, nó không liệt kê các kwargs một cách riêng biệt như được hiển thị trong ví dụ tài liệu 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()
Tôi bao gồm câu trả lời này cho câu hỏi của ABB vì điều đáng chú ý là bạn có thể xem lại nguồn hoặc tài liệu của bất kỳ mô-đun nào theo cách này để có thông tin chi tiết và nguồn cảm hứng để nhận xét mã của bạn.