当前位置: 首页 > news >正文

python 代码注释

文章目录

    • 写在前面
    • 使用方法
    • plain
    • Epytext
    • Google
    • Numpy
    • reStructuredText
    • 相关程序包
    • 其他

写在前面

如果说高效率的算法是一个项目的内核,那么完备的文档注释、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 中查看如下:
在这里插入图片描述

Google

这是一款使用较广泛的格式,示例代码如下:

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 格式,但也支持 googlenumpy,不支持其他两款。
pyment 是一个命令行程序包,能够相互转化不同格式的注释,文档.

其他

所有的 docstring 使用空行来区分注释块,比如 numpy 格式中,summary 和具体说明中有空行。具体说明和下面的 parameter 间有空行。没有空行会影响注释块的识别。

本文参考了 一个github gist, 一个csdn博客

相关文章:

  • 网站制作上网/今天发生的重大新闻
  • 户外运动网站模板/优秀的软文广告案例
  • .net做网站教程/缅甸新闻最新消息
  • 做搜狗pc网站优/最新域名8xgmvxyz
  • 惠州网络营销/长沙seo就选智优营家
  • 做网站要交百分七十定金/个人免费网站创建入口
  • 从【卡内基梅隆大学机器人概论课】认识机器人学科需要哪些技能栈
  • 【ROS】—— 机器人导航(仿真)—导航原理(十七)
  • [C/Linux练习]进度条小程序
  • 用Scipy理解Gamma函数
  • 基于二叉树的改进SPIHT算法(Matlab代码实现)
  • 大数据分案例-基于随机森林算法构建返乡人群预测模型
  • 适合编程初学者的开源项目:小游戏2048(安卓Compose版)
  • 数据标注平台(CVAT)安装及踩坑记录
  • 【jQuery】jQuery其他方法
  • SPSS常用的10种统计分析
  • 【TypeScript】TS泛型
  • 【鸟哥杂谈】腾讯云 CentOS8 Linux环境搭建docker