有没有一种标准的Pythonic方式来表示函数的参数类型和返回类型?
我正在寻找一种表示法:
可识别help()
IDE可识别
在PEP中(最好)描述
我看过一些例子,例如reSt语法:
"""replaces template place holder with values
:param timestamp: formatted date to display
:type timestamp: str or unicode
:param priority: priority number
:type priority: str or unicode
:param priority_name: priority name
:type priority_name: str or unicode
:param message: message to display
:type message: str or unicode
:returns: formatted string
:rtype: str or unicode
"""
但是,我不确定这种格式的官方/支持程度。
解决方案
Python docstring具有主要的3/4格式。请参阅此教程以进行概述。现在不再使用的较旧格式是基于Javadoc样式的Epydoc的Epytext。可能更受欢迎的是Sphinx格式的reStructuredText(reST)。在谷歌的风格也相当使用。当然,Numpydoc的灵感来自Google风格。
关于您可以参考此主题的正式/标准方式。
每种格式都有其自己的表示参数类型和返回类型的方式。以下是一些示例:
-Epytext / Javadoc
"""
@param param1: Description of param1
@type param1: type of param1
@return: description of returned value
@rtype: type of returned value
"""
-reST
"""
:param param1: Description of param1
:type param1: type of param1
:return: description of returned value
:rtype: type of returned value
"""
- 谷歌
"""
Args:
param1(int): Description of parameter `param1`.
param2(str, optional): Description of a parameter. Defaults to None.
Returns:
bool: True or False depending on the result.
"""
-Numpydoc
"""
Parameters
----------
param1 : int
Description of parameter `param1`.
param2 : {'value1', 'value2'}
Description of a parameter with two possible values.
Returns
-------
int
Description of the returned value
"""
转换中
请注意,如果您没有文档字符串,或者想要更改Python项目的文档字符串格式,则可以使用Pyment。