python 代码注释
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
文章目录
写在前面
如果说高效率的算法是一个项目的内核那么完备的文档注释、API 接口则是项目的外壳直接与客户交互。
pycharm 提供了 5 种 代码注释格式。
分别是 plain
, epytext
, google
, numpy
, reStructuredText
使用方法
在 file / setting / tools / python integrated tools / docstrings
使用 ctrl+q
可以查看某函数的注释
plain
这种模式适合简单的注释不涉及参数、返回值之类的简单的几句话即可
def test_plain(a: str, b: int):
"""
Nothing
"""
Epytext
这种格式源自 java
语言官方文档。
该格式是一种轻量级的注释方法使用简单适合较小的文档但通用性较差。
代码样式
def test_epytext(a: str, b: int):
"""
AAA
@param a: AA
@type a: str
@param b: BB
@return: CC
@rtype: str
"""
其中@后的注释块被叫做 filed
不同的 filed
有着不同的含义
下表是 部分官方介绍
上述代码段在 pycharm 中查看如下
这是一款使用较广泛的格式示例代码如下
def test_google(a: str, b: int):
"""summary
Nothing
Args:
a (str): hhhh
b (int): bbbb
Returns:
str: nono
"""
使用 pycharm 查看如下
Numpy
这也是一款使用广泛的格式如下
def test_numpy(a, b):
"""summary
AAA
Parameters
----------
a : str
input
b : int
input
Returns
-------
c : str
nono
"""
在pycharm中显示如下
reStructuredText
这款格式适配 sphinx
等网页文档较好是 pycharm 默认的格式。但我个人感觉可读性较差
示例代码
def test_reStructuredText(a: str):
"""summary
Test hhhh
:param a: para
:type a: str
:return: Nothing
:rtype: str
"""
pycharm 中查看渲染
相关程序包
sphinx
是一款自动化生成 python 文档的程序官方网站, 中文教程推荐
sphinx
基于 reStructuredText
格式但也支持 google
和 numpy
不支持其他两款。
pyment
是一个命令行程序包能够相互转化不同格式的注释文档.
其他
所有的 docstring 使用空行来区分注释块比如 numpy 格式中summary 和具体说明中有空行。具体说明和下面的 parameter 间有空行。没有空行会影响注释块的识别。
本文参考了 一个github gist, 一个csdn博客