python 代码注释

article/2025/10/27 0:33:17

文章目录

    • 写在前面
    • 使用方法
    • 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):"""summaryNothingArgs:a (str): hhhhb (int): bbbbReturns:str: nono"""

使用 pycharm 查看如下:
在这里插入图片描述

Numpy

这也是一款使用广泛的格式,如下:

def test_numpy(a, b):"""summaryAAAParameters----------a : strinputb : intinputReturns-------c : strnono"""

在pycharm中显示如下:

在这里插入图片描述

reStructuredText

这款格式适配 sphinx 等网页文档较好,是 pycharm 默认的格式。(但我个人感觉可读性较差)
示例代码:

def test_reStructuredText(a: str):"""summaryTest 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://chatgpt.dhexx.cn/article/TFppbyeX.shtml

相关文章

谈代码注释

只要写代码,就会遇到代码注释的问题。在不同的公司,不同的项目组,不同的项目中,可能会有不同的注释标准。有些标准让我们感觉很受益,有些则让我们感觉很反感。而对于没有明确标准的项目,我们往往会遇到“百…

教你写好代码注释

前言 相信大家都会遇到这种情况:一周前自己写的代码,现在再拿出来看,发现读不懂了,“ 这代码是我写的???”。这时候,代码注释就可以发挥它的作用了——提高晦涩难懂的代码的可读性&…

关于代码的注释的几种方法

注释就是对代码的解释和说明,其目的是让人们能够更加轻松地了解代码。注释是编写程序时,写程序的人给一个语句、程序段、函数等的解释或提示,能提高程序代码的可读性。注释只是为了提高可读性,不会被计算机编译。 注释一般分为行注…

C++设计模式之观察者模式和发布订阅模式

在软件工程中,设计模式(Design Pattern)是对软件设计普遍存在(反复出现)的各种问题,锁提出的解决防范。根据模式的目的来划分的话,GoF(Gang of Four) 设计模式可以分为以…

Redis发布订阅模式实现原理

前言 发布订阅系统在我们日常的工作中经常会使用到,这种场景大部分情况我们都是使用消息队列,常用的消息队列有 Kafka,RocketMQ,RabbitMQ,每一种消息队列都有其特性,很多时候我们可能不需要独立部署相应的消…

RabbitMQ入门案例之发布订阅模式

前言 本文章主要介绍RabbitMQ的发布订阅模式,该模式下,消息为广播形式,一经发布则会进入交换机绑定的队列中,详细介绍可以阅读官方文档。 官网文档地址:https://rabbitmq.com/getstarted.html 什么是发布与订阅模式 …

浅谈JS发布订阅模式

🏆分享博主自用牛客网🏆:一个非常全面的面试刷题求职网站,真的超级好用🍬 文章目录 前言一、发布订阅模式是什么?二、使用步骤1.创建调度中心2.实际操作3. React中的应用 总结 前言 在使用前端各大框架时&…

React 中的发布订阅模式

1、react 通信 react的数据流是单向的, react 通信有以下几种方式: 单向数据流:指当前组件的 state 以 props 的形式流动时只能流向组件树中比自己层级更低的组件 父向子通信:父组件提供state,并且内部设置好数据,子组…

深入Vue原理_全面剖析发布订阅模式

文章目录 发布订阅模式优化优化思路思考理解发布订阅模式(自定义事件)收集更新函数触发更新函数6.5 总结 总结写在最后本期推荐 欢迎各位小伙伴们! 为大家推荐一款刷题神奇哦 点击链接访问牛客网 各大互联网大厂面试真题。从基础到入阶乃至原理刨析类面试题 应有尽有…

观察者模式VS发布订阅模式区别

观察者模式VS发布订阅模式区别 观察者模式:订阅者收集函数,发布者循环调用 发布订阅:收集发布单独给一个中介 对比 以结构来分辨模式,发布订阅模式相比观察者模式多了一个调度中心; 以意图来分辨模式,都…

RabbitMQ:发布订阅模式

✨ RabbitMQ:发布订阅模式 1.订阅模式基本介绍2.交换机3.发布订阅模式3.1基本介绍3.2生产者3.3消费者3.4测试 📃个人主页:不断前进的皮卡丘 🌞博客描述:梦想也许遥不可及,但重要的是追梦的过程,用博客记录自己的成长,记…

JavaScript设计模式:四、发布订阅模式

JavaScript设计模式:四、发布订阅模式 文章目录 JavaScript设计模式:四、发布订阅模式一、概述1. 观察者模式2. 发布订阅模式3. 观察者模式是不是发布订阅模式 一、概述 观察者模式: 观察者(Observer)直接订阅&#x…

发布订阅模式理解

发布订阅模式理解 1.发布-订阅模式 发布订阅模式是一种一对多的对象对应关系,多个观察者同时监听某一个对象,当该对象发生改变时,就会执行一个发布事件,这个发布事件会通知所有的事件订阅者,事件订阅者根据得到的数据…

JS观察者模式和发布订阅模式

观察者模式 观察者模式在前端工程中是很常见的设计模式,因为前端交互中充斥着大量多控件联动的交互,当参与联动的组件数量比较多或者组件数量可能变化的时候,代码就会变得难以维护。但是如果我们写代码时遵循了观察者模式的设计,…

redis发布订阅模式详解

文章目录 写在前面发布订阅的使用SUBSCRIBE命令PUBLISH命令注意发布、订阅客户端启动顺序! PUBSUB命令PUNSUBSCRIBE命令UNSUBSCRIBE命令PSUBSCRIBE命令 总结 写在前面 Redis 发布订阅 (pub/sub) 是一种消息通信模式:发送者 (pub) 发送消息,订…

Vue发布订阅模式

简单的来说一下在别人问你这个问题的时候怎么来回答它 前端新人,如有错误求大佬指出~求教💝 情景复现 大佬提问:“你知道Vue发布订阅模式是什么吗?" 我的回答:“发布订阅模式其实是一种对象间一对多的依赖关系&…

观察者模式和发布订阅模式

一、概念 观察者(Observer),又称发布-订阅(Publish-Subscrice),属于23中设计模式之一。 发布订阅模式定义了一种一对多的依赖关系,让多个订阅者对象同时监听某一个主题对象。这个主题对象在自身状态变化时&#xff0c…

C++发布订阅模式

C发布订阅模式 发布订阅模式主要包含三个部分:消息发布、消息订阅者、消息处理中心。与观察者模式相比多出了消息处理中心模块,这样在结构上可以解耦订阅者与发布者,功能上更加的丰富。 观察者模式 结构设计 有一个消息list,主…

Java实现发布订阅模式

什么是发布订阅模式 发布订阅模式是软件开发者很常见的一种设计模式,很多开源库都使用了发布订阅模式,例如RxJava、EventBus、Vue等,所以学习该模式还是很有必要的。 该模式中存在一个或多个发布者,一个或多个订阅者&#xff0c…

设计模式 —— 发布订阅模式

设计模式 —— 发布订阅模式 《工欲善其事,必先利其器》 我在之前有写过一篇关于 《观察者模式》 的文章,大家有兴趣的可以去看看,个人认为那个例子还是挺生动的。(狗头) 不过今天我们要学习的是,发布订阅…