我正在尝试使用Google代码样式来记录函数,然后我使用带有拿破仑扩展的sphinx来创建文档.该函数是不寻常的,因为它返回两个参数.我认为拿破仑不会这样做.如果是这样,有人可以告诉我他们是如何处理的吗?
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
Run Code Online (Sandbox Code Playgroud)
也许我收到的消息是,返回多个参数并不是很好的编码风格,但是你可以这样做吗?生成的html将这两行视为一个参数的描述的一部分.如果我在服务器和msg行之间添加换行符,它会有所帮助,但它仍然记录了一个arg.
def foobar(filename, copy, dtype, iterable, shape, files):
"""
foobar is 42.
Parameters
----------
filename : str
copy : bool
dtype : data-type
iterable : iterable object
shape : int or tuple of int
files : list of str
Returns
-------
foobarfoo : int
"""
pass
Run Code Online (Sandbox Code Playgroud)
是否可以检查文档字符串类型是否正确?
(附带问题:numpy 可以返回/打印它发现的函数签名吗?)
例如,我希望以下内容失败:
def foobar():
"""
Returns
-------
blub : int
"""
return "foo"
Run Code Online (Sandbox Code Playgroud)
或者
def foobar(a, b):
"""
Parameters
----------
a : number
b : number
Returns
------- …Run Code Online (Sandbox Code Playgroud)