查看: 154|回复: 3

Python注释三种写法:单行、多行、文档注释及PEP8实践

[复制链接]
发表于 1 小时前 | 显示全部楼层 |阅读模式
在Python开发中,注释是提升代码可读性、降低维护成本的关键手段。无论是新手练习还是企业级项目,规范使用注释都是一项必备技能。本文将详细介绍Python单行注释、多行注释和文档注释的写法、快捷键、常见坑点以及PEP8规范,帮助你在实际编码中写出清晰、规范的注释。

[strong]一、注释的作用与适用场景[/strong]

注释不会被执行,仅用于开发者阅读。主要作用包括:快速理解代码逻辑、方便后期迭代和Bug修复、提高团队协作效率、辅助调试(临时屏蔽代码)。常见场景有:新手练习标注思路、函数/类核心功能说明、临时屏蔽测试代码、生成项目文档等。

[strong]二、单行注释(
  1. #
复制代码
)[/strong]

单行注释以井号开头,从
  1. #
复制代码
到行末均为注释。可以独占一行,也可以放在代码行末尾。

示例:
  1. # 定义用户名
  2. username = "Python学习者"
  3. # 定义年龄
  4. age = 25
  5. # 输出信息
  6. print(f"用户:{username},年龄:{age}")  # 行尾注释:打印用户基础信息
复制代码

注意事项:行尾注释前应空两个空格,符合PEP8规范。简单代码无需过度注释,复杂逻辑才需添加说明。

[strong]三、多行注释(三引号)[/strong]

Python没有专属多行注释语法,通常使用单引号或双引号的三引号包裹多行文本。

语法:
  1. '''
  2. 多行注释内容
  3. '''
  4. """
  5. 多行注释内容
  6. """
复制代码

示例:
  1. '''
  2. 功能:计算两个数字的和
  3. 作者:Python学习者
  4. 时间:2026-05-30
  5. '''
  6. def add_num(a, b):
  7.     return a + b
  8. """
  9. 双三引号也可批量屏蔽测试代码
  10. print("测试代码1")
  11. print("测试代码2")
  12. """
  13. print(add_num(10, 20))
复制代码

注意:三引号注释内部不能嵌套同类型三引号,否则会报错。若需嵌套,使用转义符或换成不同的引号类别。

[strong]四、文档注释(标准文档字符串)[/strong]

文档注释是规范化的多行注释,必须放在函数、类或模块的第一行,使用双三引号。它可用于通过工具(如Sphinx)自动生成文档。

模块文档示例:
  1. """
  2. 基础计算模块
  3. 功能:实现加减乘除基础运算
  4. 作者:Python学习者
  5. 版本:1.0
  6. """
  7. print("基础计算模块加载完成")
复制代码

函数文档注释(推荐企业写法):
  1. def calculate_avg(num_list):
  2.     """
  3.     计算数字列表的平均值
  4.     Args:
  5.         num_list (list): 传入数字列表
  6.     Returns:
  7.         float: 返回列表平均值,空列表返回0
  8.     """
  9.     if not num_list:
  10.         return 0
  11.     return sum(num_list) / len(num_list)
  12. print(calculate_avg([85, 90, 88]))
复制代码

类文档注释:
  1. class Student:
  2.     """
  3.     学生信息管理类
  4.     实现学生成绩添加、平均分计算功能
  5.     """
  6.     def __init__(self, name, age):
  7.         """
  8.         初始化学生信息
  9.         Args:
  10.             name (str): 学生姓名
  11.             age (int): 学生年龄
  12.         """
  13.         self.name = name
  14.         self.age = age
  15.         self.grades = []
  16.     def add_grade(self, grade):
  17.         """添加学生成绩"""
  18.         self.grades.append(grade)
复制代码

[strong]五、编辑器快捷键[/strong]

提高注释效率推荐掌握以下快捷键:


  • PyCharm / VS Code:选中代码后按
    1. Ctrl + /
    复制代码
    批量单行注释或取消注释。
  • VS Code 多行注释:
    1. Shift + Alt + A
    复制代码

  • IDLE:
    1. Alt + 3
    复制代码
    注释,
    1. Alt + 4
    复制代码
    取消注释。


[strong]六、常见问题与避坑[/strong]

1. 注释嵌套报错:三引号注释内部不能出现相同三引号文本。解决方案:改用单三引号与双三引号错开,或使用转义。
2. 过度注释:简单代码(如
  1. a = 10
复制代码
)无需注释,否则影响阅读。核心逻辑才需详细说明。
3. 行尾注释间距:PEP8要求代码与注释之间空两个空格,例如:
  1. print("hello")  # 输出问候
复制代码

4. 文档注释缺失:函数、类、模块应标配文档注释,参数和返回值描述清晰。
5. 敏感信息泄漏:注释中禁止记录密码、密钥、接口Token等。
6. 注释与代码不一致:迭代代码时必须同步更新注释,避免误导。
7. 废弃代码应删除,不要用注释保留,否则造成冗余。

[strong]七、PEP8注释规范[/strong]


  • 单行注释:
    1. #
    复制代码
    后必须加一个空格。
  • 独立行注释:用于解释下一段代码,避免空注释。
  • 文档注释:使用双三引号,参数和返回值清晰说明。
  • 注释语言统一:项目中统一使用中文或英文,不要混用。


核心口诀:简单代码不注释,复杂逻辑详注释,业务功能必注释,冗余代码不瞎注。

掌握这三类注释写法并遵循PEP8规范,你的Python代码在可读性、可维护性和团队协作方面都会大幅提升。
回复

使用道具 举报

发表于 1 小时前 | 显示全部楼层

Re: Python注释三种写法:单行、多行、文档注释及PEP8实践

感谢楼主的详细总结!刚学Python时确实经常分不清多行注释和文档注释的用法,看了你的整理清晰多了。特别喜欢那个“简单代码不注释,复杂逻辑详注释”的口诀,很实用。另外请教一下:文档注释里参数和返回值的格式(比如Args:、Returns:)是不是有官方推荐的风格?还是说团队统一就好?
回复 支持 反对

使用道具 举报

发表于 1 小时前 | 显示全部楼层

Re: Python注释三种写法:单行、多行、文档注释及PEP8实践

楼主的总结非常全面,从基础写法到PEP8规范再到常见坑点都覆盖了,对新手和老手都有参考价值。特别赞同“简单代码不注释,复杂逻辑详注释”这个口诀,很多初学者容易走极端要么不写注释要么每行都写。另外文档注释的Args/Returns格式确实是团队协作和自动生成文档的好做法。想请教一下,在项目实践中,对于临时屏蔽代码,楼主更推荐用三引号还是直接用`#`逐行注释?有没有遇到过因为三引号嵌套导致的问题?
回复 支持 反对

使用道具 举报

发表于 1 小时前 | 显示全部楼层

Re: Python注释三种写法:单行、多行、文档注释及PEP8实践

谢谢楼主的详细总结,非常实用!尤其是文档注释那部分,很多新手容易把三引号当作普通多行注释来用,忘了它还能通过工具生成文档。另外关于行尾注释的空格规范,我以前经常忽略,现在养成习惯后代码整洁多了。想请教一下:在写函数文档注释时,参数类型和返回值的描述是必须严格按照某种格式(比如Google风格)还是只要团队内部统一就行?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

指导单位

江苏省公安厅

江苏省通信管理局

浙江省台州刑侦支队

DEFCON GROUP 86025

Hacking Group 021A

旗下站点

态势感知中心

应急响应中心

红盟安全

联系我们

官方QQ群:112851260

官方邮箱:security#ihonker.org(#改成@)

官方核心成员

关注微信公众号

Archiver|手机版|小黑屋| ( 沪ICP备2021026908号 )

GMT+8, 2026-6-29 11:44 , Processed in 0.038594 second(s), 18 queries , Gzip On, Redis On.

Powered by ihonker.com

Copyright © 2015-现在.

  • 返回顶部