Python 对于数据结构类型(如列表),Sphinx docstring标准是什么?
Sphinx是否有支持的标准来记录参数或返回值类型,这些参数或返回值类型不是简单的单个对象 例如,在下面的示例中,arg1是str,arg2是str列表,arg3是str或int。如何在Sphinx中指定集合或复合类型?还是没有共同的标准Python 对于数据结构类型(如列表),Sphinx docstring标准是什么?,python,python-sphinx,Python,Python Sphinx,Sphinx是否有支持的标准来记录参数或返回值类型,这些参数或返回值类型不是简单的单个对象 例如,在下面的示例中,arg1是str,arg2是str列表,arg3是str或int。如何在Sphinx中指定集合或复合类型?还是没有共同的标准 def function(arg1, arg2, arg3): """ :param arg1: Argument 1 :type arg1: str :param arg2: Argument 2 :type arg2
def function(arg1, arg2, arg3):
"""
:param arg1: Argument 1
:type arg1: str
:param arg2: Argument 2
:type arg2: list[str]
:param arg3: Argument 3
:type arg3: str or int
"""
pass
Python 3.5类型提示 虽然Sphinx还不支持,但有一天它可能会使Sphinx类型的注释过时 目前,我建议使用与该模块完全相同的语法,这将:
- 使移植更容易,而且以后可能是自动化的
- 指定一种独特且定义良好的做事方式
def f(list_of_int):
"""
:type list_of_int: List[int]
:rtype: int
"""
return list_of_int[0] + list_of_int[1]
当你有了3.5,你会写下:
def f(list_of_int : List[int]) -> int:
return list_of_int[0] + list_of_int[1]
str或int
部分可以用Union
表示:没有通用的标准-这里有一个建议,似乎也用于,例如:类型arg2:collections。Iterable[str]在Pycharm中为Python 2.7启用类型暗示。Python中是否有一种类似的联合类型可以用于arg3?接受str或int
似乎有些奇怪,但如果是这样的话,我会这样写!同时还有一个扩展来支持它们。