在尝试为我的 DocStrings 遵循 NumpyDoc 格式时,我似乎无法弄清楚如何告诉用户参数是关键字参数(即指定为SomeFunc(theKeyWordArg=100)
与 相对SomeFunc(100)
)。
我在网上找到的文档(例如this和this)仅显示示例,例如
def somefunc(arg1, arg2):
'''
Parameters
----------
arg1, arg2 : int
info on arg1 & arg2
对于关键字参数:
def somefunc( keyword=False ):
...
但是对于一般情况,这是我在许多函数中定义的:
def somefunc( *args, **kwargs):
我应该这样记录它们:
Parameters
----------
*args
Variable length argument list.
**kwargs
Arbitrary keyword arguments.
我遇到的问题是我看不到一种明确的方法来告诉用户参数部分中的哪些参数是关键字与非关键字,因此我必须执行以下操作:
somefunc(*args, **kwargs)
'''
Parameters
----------
x : int
Non-keyworded arg, x is an int
name : string
keyworded arg, pass a string as the name.
'''
所以用户会调用函数来设置x
&name
像这样:
somefunc(10, name='gazebo')
有没有标准的方法可以在文档字符串中指出哪些参数是关键字,哪些不是?
例如,这不是说清楚的好方法吗?
somefunc(*args, **kwargs)
'''
Parameters
----------
x : int
x is an int
y : float
y should be a float
name = string
Pass a string as the name
label = string
Provide a label for this object
'''
where:
表示它是非关键字(即。SomeFunc(100, 200)
)并=
表示关键字(即。SomeFunc(100, 200, name="Bob", label="one and two hundred")
)