python 代码注释

news2024/11/29 2:31:51

文章目录

    • 写在前面
    • 使用方法
    • 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博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/166312.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Tslib配置文件ts.conf

默认: # Access plugins ################# Uncomment if you wish to use the linux input layer event interface module_raw input# For other driver modules, see the ts.conf man page# Filter plugins ################# Uncomment if first or last sample…

【运维心得】正确的校正mysql-slave及mysqldump

实践出真知,有些细节,记录下。本文不涉及主备知识,有需右转: https://blog.csdn.net/qq_26834611/article/details/121385550mysql 正确的dump 命令:0. 检查当前主库所在位置ip addr 查看虚拟ip所在位置 1. 备机数据库dump备份:mysqldump -ur…

【ChatGPT】注册OpenAI账号试用ChatGPT

主要参考: 手把手教你注册 AI 聊天机器人模型 ChatGPT:大体流程注册OpenAI账号试用ChatGPT指南: 相关网站 openai: https://beta.openai.com/signup直接登录charGPT:https://chat.openai.com/接入微信,1.2K&#xf…

OneKeyGhost工具进行备份还原windows操作系统

OneKeyGhost OneKey Ghost是一款设计专业、操作简便的绿色程序,能够在 Windows 下对任意分区进行一键备份、恢复,支持ISO文件、光盘、U盘里的GHO文件硬盘安装。 OneKeyGhost备份wind系统 系统需要包含两个磁盘,一个系统盘另外一个数据盘。 …

Linux-文件权限命令

用户及权限操作 d:表示文件夹,-:表示文件,后面每隔3个分别代表 u、g、o。 使用ls -l (ll)可查看文件(目录)的权限 使用 chmod 可修改文件权限,有两种使用格式:字母法…

剑指offer五道题,C++实现,看看自己能不能解出来。

第一道(剑指offer46 把数字翻译成字符串) 给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”…

在产业互联网诞生之初,其仅被当成是互联网的衍生品和避风港

在流量和资本的红利已然被出清的大背景下,以平台经济为代表的互联网经济的发展同样被逼退到了进退维谷的境地里。如何突破以往发展模式的束缚,如何让互联网行业的发展重新开启新的想象空间,成为每一个互联网玩家必然需要思考的重要课题。于是…

python 列表生成式

列表生成式 列表生成式的结构是在一个中括号里包含一个表达式,然后是一个for语句,然后是0个或多个for或者if语句。列表表达式可以是任意的,意思是你可以在列表中放入任意类型的对象。返回结果将是一个新的列表 # 去除偶数 hh[[1,2,3],[4,5,6],[7,8,9] ]#从做往右读就行 print…

Rpc了解

1、为什么要有rpc? 因为微服务之间需要进行服务间的通信,不同服务之间的接口要互相调用。而常见的通信协议主要有 RPC 和 REST 协议 使用rpc的好处是: 引入RPC框架对我们现有的代码影响最小,同时又可以帮我们实现架构上的扩展 两者对比 …

【7】SCI易中期刊推荐——计算机 | 人工智能(中科院4区)

🚀🚀🚀NEW!!!SCI易中期刊推荐栏目来啦 ~ 📚🍀 SCI即《科学引文索引》(Science Citation Index, SCI),是1961年由美国科学信息研究所(Institute for Scientific Information, ISI)创办的文献检索工具,创始人是美国著名情报专家尤金加菲尔德(Eugene Garfield…

Barra模型因子的构建及应用系列二之Beta因子

一、摘要 在前期的Barra模型系列文章中,我们初步讲解并构建了Size因子。在Size因子基础上构建的单因子策略也获得了不错的绝对收益。而本期内容,我们在该系列下进一步构建Beta因子,其中基于Beta因子构建的策略在2022年实现了5.70%年化收益&a…

51单片机——点亮LED

目录 LED基本参数 参数信息 参数解读 拉电流与灌电流 电路示意图 电阻选取 灌电流与拉电流区别 程序编写与现象展示 LED基本参数 参数信息 产品名称贴片发光二极管产品型号0603发光颜色 绿、红、蓝、翠绿、白、黄 电压2V~3.3V电流5~20mA功率0.01~0.06W使用寿命约50000小…

小程序模板语法

小程序模板语法模板语法—数据绑定数据绑定的步骤应用场景示例模板语法—条件渲染条件渲染的两个方式wx:if vs hidden列表渲染—基础列表渲染简介基础用法手动指定索引和当前项的变量名列表渲染—进阶key的作用key的用法模板语法—数据绑定 数据绑定的步骤 在data中定义数据 P…

Unreal中Interface接口的使用

通过继承Unreal中的接口可以使不同的类有某种共同特性,这里记录一下接口的使用方式。Unreal中的接口分为两种:C接口和蓝图接口,C接口可在蓝图中使用;蓝图中的接口不能直接在C中使用,这里探究一下他们的关系:1.C的接口在C中使用:新建C类,继承UnrealInterface:接口中可以声明虚函…

Java运算符(二)

算术运算符1.1运算符和表达式运算符:对常量和变量进行操作的符号表达式:用运算符把常量或者变量连接起来符合java语法的式子就可以成为表达式不同运算符连接的表达式体现的是不同类型的表达式举例说明:int a10;int b20;int cab;:是…

电脑投影左右切换

要同时使用几个显示器的情况 winp 投影 然后右键桌面 显示设置 长按选择左右屏幕

DRR(Digitally Reconstructured Radiograph)分类及原理

DRR(Digitally Reconstructured Radiograph)分类及原理 DRR(Digitally Reconstructured Radiograph),全称为数字重建放射影像,其是通过将三维 (3D) 图像(Volume)透视投影到二维 (2D) 图像平面上而生成的射线照相图像的模拟。DRR被…

Oracle客户端 PL/SQL Developer:

1、配置文件进行导入导出 2、提示“ORA-00900: 无效 SQL 语句“解决方法 在PL/SQL中的SQL窗口用desc想显示指定表格abs_generl.prodord_sku的结构,提示无效语句 PL/SQL切换到命令窗口,再用desc显示表格abs_generl.prodord_sku的结构,执行成功…

2023年面试题之Dubbo基础

1. 为什么要用 Dubbo?随着服务化的进一步发展,服务越来越多,服务之间的调用和依赖关系也越来越复杂,诞生了面向服务的架构体系(SOA),也因此衍生出了一系列相应的技术,如对服务提供、服务调用、连接处理、通…

libtorch c++ 使用预训练权重(以resnet为例)

任务: 识别猫咪。 目录 1. 直接使用 1.1 获取预训练权重 1.2 libtorch直接使用pt权重 2. 间接使用 2.1 BasicBlock 2.2 实现ResNet 2.3 BottleNeck 1. 直接使用 1.1 获取预训练权重 比如直接使用Pytorch版的预训练权重。先把权重保存下来,并打印…