注释是程序员在源代码中留下的“隐藏说明”——它会被编译器或解释器完全忽略,不对程序的运行产生任何实际影响。
用一句话概括:注释是写给“人”看的,不是写给“机器”看的。
相信很多刚开始学习Python的朋友,都觉得注释就是加个#号,方便自己看而已。但其实,注释写得好不好,直接决定了别人(也包括未来的你)能否快速读懂你的代码。
有句话说得好:“当代码与注释不一致时,两者可能都是错的。”
二、Python注释方式
今天我们就来系统地聊聊Python中三种注释方式,以及如何写出高质量的注释。
1️⃣单行注释 — 最常用的方式
单行注释以#号开头,从#开始到行末的内容都会被Python解释器忽略。
基本语法:
# 这是一条单行注释print("Hello, World!")
实用技巧:
① 行尾注释(适度使用)
x = 10 # 初始化变量x为10name = "张三" # 用户姓名
⚠️ 行尾注释不要滥用,会降低代码可读性。只有当注释非常简短且不会让代码行过长时才使用。
② 块注释(多行说明)
# 计算用户的BMI指数# 公式:体重(kg) / 身高(m)的平方# 注意:身高需要转换为米为单位height = float(input("请输入身高(cm):")) / 100weight = float(input("请输入体重(kg):"))bmi = weight / (height ** 2)
2️⃣多行注释 — 三种引号的妙用
Python本身没有专门的多行注释语法,但我们可以利用多行字符串(三引号)来实现类似效果。
"""这是一个多行注释的示例这里可以写很长的说明文字Python解释器会忽略未被赋值或使用的多行字符串"""def my_function():pass
注意: 严格来说,三引号创建的是字符串对象。虽然它会被解释器解析然后立即销毁(因为没有变量引用),但还是会占用一点内存。如果是纯粹的注释,建议还是用多个#。
3️⃣文档字符串(Docstring) — 最专业的注释
这是Python中最优雅、最专业的注释方式!
文档字符串位置:出现在模块、类、函数或方法第一行的字符串,用于说明“这个东西是做什么的”。
写法: 使用三双引号"""或三单引号'''
def calculate_bmi(height, weight):"""计算身体质量指数(BMI)参数:height (float): 身高,单位:米weight (float): 体重,单位:千克返回:float: BMI值,保留两位小数示例:>>> calculate_bmi(1.75, 70)22.86"""bmi = weight / (height ** 2)return round(bmi, 2)
文档字符串的最大优势: 可以通过help()函数查看!
help(calculate_bmi)这会在控制台打印出你写的所有说明,非常方便团队协作和代码复用。
三、写出高质量注释的4个黄金法则
✅ 法则1:注释“为什么”,而不是“是什么”
烂注释示例:
x = x + 1 # 让x加1好注释示例:
x = x + 1 # 补偿因浮点数精度损失而产生的误差✅ 法则2:让代码自己说话
好代码胜过烂注释。能用清晰的变量名、函数名表达意图,就不要写注释。
# 不好的做法
# 计算折扣后的价格p = total * 0.9
# 好的做法
discounted_price = total_price * DISCOUNT_RATE✅ 法则3:及时更新注释
改了代码不更新注释?那注释比没有更可怕——它会误导人!
记住:陈旧注释是代码中最大的谎言。
✅ 法则4:TODO注释 — 标记待办事项
很多IDE会高亮显示TODO和FIXME,方便你追踪未完成的工作。
# TODO: 添加异常处理# FIXME: 这里在高并发场景下会报错# NOTE: 这个算法的时间复杂度较高,后续需要优化
四、趣味知识:那些年的“经典”注释
最后,分享几个程序员的“幽默注释”,放松一下:
# 这段代码是为了应付甲方临时加的,我也不知道干嘛用的,千万别删# 上帝啊,原谅我吧,我知道这样写很丑,但deadline要到了# 如果这段代码能跑,不要问为什么# 如果这段代码不能跑,更不要问为什么
当然,日常工作中还是建议写规范的注释哦!
五、总结
注释方式写法使用场景单行注释# 注释内容简短说明、行尾注释多行注释(模拟)"""注释内容"""临时禁用大段代码文档字符串"""函数说明"""函数、类、模块的正式文档
写好注释,既是对自己负责,也是对他人的尊重。 三个月后的你,会感谢现在认真写注释的自己。
今天的分享就到这里,如果你觉得有用,欢迎点赞、在看、转发支持一下!
你平时写注释有什么习惯或技巧?欢迎在评论区分享交流!