Belgelerinde Sphinx için bir doctstring örneği var . Özellikle şunları gösterirler:
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
Hakkında sormuş olmana rağmen sfenksaçıkça, Google Python Stil Kılavuzu'na da işaret edeceğim . Docstring örnekleri, özellikle kwarg'ları çağırmadıklarını ima ediyor gibi görünüyor. (other_silly_variable = Yok)
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'nin, alt süreç yönetimi belgelerine referans verme ile ilgili kabul edilen yanıta ilişkin bir sorusu vardır. Bir modülü içe aktarırsanız, modül belgelerini inspect.getsource aracılığıyla hızlı bir şekilde görebilirsiniz.
Silent Ghost'un önerisini kullanan python yorumlayıcısından bir örnek:
>>> import subprocess
>>> import inspect
>>> import print inspect.getsource(subprocess)
Elbette yardım işlevi aracılığıyla modül belgelerini de görüntüleyebilirsiniz. Örneğin yardım (alt süreç)
Örnek olarak kwargs için alt işlem dokümantasyonunun hayranı değilim, ancak Google örneğinde olduğu gibi, Sphinx dokümantasyon örneğinde gösterildiği gibi kwargları ayrı ayrı listelemiyor.
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()
Bu yanıtı ABB'nin sorusuna ekliyorum çünkü kodunuzu yorumlamak için içgörüler ve ilham almak için herhangi bir modülün kaynağını veya belgelerini bu şekilde inceleyebileceğinizi belirtmek gerekir.