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

第4章 编码规范-4.2 注释规范

注释规范包括文件注释、文档注释、代码注释和TODO注释。这里需要强调一点,即在程序代码中,对容易引起误解的代码进行注释是必要的,但应避免对已经清晰表达信息的代码进行再次注释,因为频繁的注释有时恰恰反映了代码的低质量,当觉得被迫需要添加注释的时候,不妨考虑一下重写代码,使其更加清晰。

4.2.1 文件注释

文件注释就是在每一个文件的开头处所添加的注释。

文件注释采用多行注释,需要注意的是,文件注释不会生成API帮助文档。

文件注释通常包括如下信息:版权信息、文件名、所在模块、作者信息、历史版本信息、文件内容和作用等。示例代码如下:

# 资源包\Code\chapter4\4.2\0401.py # 版权所有 2012 来自远方的老作者 # 许可信息查看LICENSE.txt文件 # 描述: # 实现日期基本功能 # 历史版本: # 2017-7-22: 创建 来自远方的老作者 # 2017-8-20: 添加datetime模块 # 2017-8-22: 添加math模块

4.2.2 文档注释

文档注释就是文档字符串,其注释内容能够生成API帮助文档。这里需要注意的是,所有公有的模块、函数、类和方法都应该进行文档注释。

文档注释推荐使用一对三重双引号包裹起来,而不推荐使用三重单引号。示例代码如下:

# 资源包\Code\chapter4\4.2\0402.py class Login(object): ''' 类的作用说明,例如此类用来写登录 ''' def __init__(self): ''' 初始化你要的参数说明 ''' pass def check(self): ''' 你要实现的功能说明 ''' pass

此外,在Python中可以通过使用Python官方提供的pydoc工具和内置函数help()查看文档注释。

(1)使用pydoc工具查看文档注释。

首先,打开命令提示符,然后进入当前文件所在的位置,输入“python –m pydoc 0402”,即可实现在控制台中查看文档注释,如图4-1所示。

图4-1 控制台中查看文档注释

此外,输入“python –m pydoc –w 0402”,即可生成HTML文件,如图4-2所示。

图4-2 生成HTML文件

(2)使用内置函数help()查看文档注释,其示例代码如下:

# 资源包\Code\chapter4\4.2\0403.py class Login(object): ''' 类的作用说明,例如此类用来写登录 ''' def __init__(self): ''' 初始化你要的参数说明 ''' pass def check(self): ''' 你要实现的功能说明 ''' pass help(Login)

上述代码的运行结果如图4-3所示。

图4-3 使用内置函数help()查看文档注释

4.2.3 代码注释

可以通过使用#为单行代码添加注释,代码注释建议加在代码的右侧或者上方。示例代码如下:

# 资源包\Code\chapter4\4.2\0404.py # 定义变量,代表教师 teacher = '来自远方的老作者'

4.2.4 TODO注释

在编写程序时,有些代码的功能暂时无法确定,或者暂时未完成,为了便于后期查找可以使用TODO注释。示例代码如下:

# 资源包\Code\chapter4\4.2\0405.py name = '来自远方的老作者' age = 35 teach = 'Python' def teacher(name, age, teach): return f'老师的名字:{name},老师的年龄:{age},老师所教的课程:{teach}' # TODO 待完成功能:调用函数teacher
http://www.jsqmd.com/news/542849/

相关文章:

  • Qwen3-ASR-0.6B WebUI实战:中文方言自动识别与结果导出操作
  • YOLO-v8.3问题解决:常见报错与GPU配置避坑指南
  • Sonic数字人效果展示:看静态图片如何“开口说话”生成流畅视频
  • 【三维模型+视频】COMSOL 6.2-三维超声辅助激光熔覆案例。 介绍:对于激光熔覆,激光束...
  • 你的CDD文件真的‘干净’吗?深度解析CANoe.Diva自动化测试背后的诊断数据库质量门禁
  • STEP3-VL-10B多场景落地:跨境电商Listing图合规检测(Logo/文字)
  • 节能模式:OpenClaw+nanobot的间歇性任务调度技巧
  • AutoGen Studio作品分享:基于低代码平台构建的智能体团队实战
  • Ubuntu 20.04下rMATS 4.1.2环境配置避坑指南(含GSL 2.5依赖解决方案)
  • Python无GIL时代来了?揭秘CPython 3.13+无锁并发模型的8个高频面试陷阱
  • 为什么你的模型训练慢3.7倍?——深度解析NumPy/PyTorch/JAX张量底层布局差异与迁移避坑清单
  • 告别调试靠猜!用华大单片机串口高效打印调试信息(基于UART0和可变参数函数)
  • c++ 右值引用
  • translategemma-27b-it部署指南:Ollama模型缓存管理与多版本切换实践
  • Onekey终极指南:3分钟快速获取Steam游戏清单的完整解决方案
  • 分享一份2026金三银四Java面试通关宝典!
  • 3大维度解放双手:March7thAssistant让星穹铁道自动化更智能
  • Qwen3-ASR-1.7B司法存证应用:庭审录音自动转写+时间轴对齐(联动aligner)
  • HunyuanVideo-Foley效果展示:雨声/脚步声/玻璃碎裂等高频细节还原对比
  • 【AI应用开发】-Agent 思考时间那么长,怎么优化前端的用户体验?
  • HJ148 迷宫寻路
  • LFM2.5-1.2B-Thinking应用实战:用Ollama搭建一个能“思考”的智能问答助手
  • s2-pro效果展示:多说话人语音合成(同一模型切换不同音色)
  • AI绘画工作流优化:OpenClaw+GLM-4.7-Flash自动生成SD提示词与批处理
  • 爱毕业aibye盘点6大AI论文平台:智能改写+高效降重,科研写作更省力!
  • CoPaw高性能推理优化:利用GPU算力实现低延迟响应
  • 别再手动搬砖了!用C#给SolidWorks PDM写个自动化插件(Visual Studio 2022实战)
  • OBS直播远程控制与自动化技术指南
  • nli-distilroberta-baseAI应用:多模态内容审核中图文描述逻辑一致性判别
  • CMake+vcpkg环境配置避坑指南:从命令行到GUI的完整流程