注释
写给人看、电脑会跳过的说明。
它是什么
注释 不是给电脑执行的。 它是写给自己、同学、老师和以后的你看的。
程序里既有「做」的句子,也有「说」的句子。 做的句子电脑会跑。 说的句子电脑会跳过。
Python 用 # 开头写一行注释。
从 # 到这一行结束,电脑都不看。
# 这是自我介绍
print("你好") # 屏幕会显示你好第一行整行都是注释。 第二行后面也可以跟注释。
名字从哪来
注释的英文是 comment。 日常英语里,comment 就是「评语」「说明」。
编程很早就需要这种旁白。
早期语言 FORTRAN 常在一行开头写字母 C,表示这一行是给人看的。
Unix 下的许多脚本语言,包括后来的 Python,选用了 #。
井号在英语里常叫 hash 或 pound。 它不是数学课里的「井」字游戏,只是一个不容易和算式搞混的符号。
以后还会见到更长的说明书写法。
日常一行一句,用 # 就够。
它怎么工作
电脑读程序时,看见 #,就把这一行剩下的字当作空气。
所以注释不会被 print 出来。 也不会参加 算术。
好注释写「这里在干什么」,或「为什么要这样」。 不要写人人都看得出的废话。
好注释:
# 按及格线分类
if score >= 60:
print("及格")不好的注释:
# 下一行
print("你好")人人都看得出下一行。 要写的是这一行在干什么。
多行说明可以写多个 #。
一行一句就够。
太长的注释,读起来比代码还累。
注释也要跟着程序一起改。 步骤变了,旧说明还留着,比没有注释更误导人。
生活里在哪里
- 乐谱上的表情记号:告诉演奏的人「这里要轻」,本身不是音符。
- 地图上的图例:解释颜色代表什么,本身不是路。
- 作业本上老师的批注:给人看,不计入算式。
- 食谱旁边写「过敏者不要放花生」:提醒人,不是烹饪步骤。
给难懂的步骤写注释,就像给迷路的人竖路牌。 先用中文把步骤说清,再写成代码,常常更稳。 这和 算法、调试 都有关。
和相近概念的差别
注释和 字符串 长得有点像:都是给人看的字。 可命运完全不同。
写进引号里的字是数据。 print 会显示它,变量会记住它。
写在 # 后面的字是旁白。
电脑直接跳过。
print("# 这不是注释") # 这才是注释第一段井号在引号里,真的会被打印。 后面那段井号才是注释。
注释也不等于代码风格的全部。 缩进、好的 变量 名,同样在帮人读懂。 名字起清楚了,注释就可以少写一点。
常见误会
误会 1:注释越多越好。
重复代码的注释是噪音。 写清目的就够。
误会 2:用中文全角 #。
必须是英文 #。
全角符号电脑不当注释看。
误会 3:把说明写进引号里,就算注释了。
那会变成字符串。 真的会被打印或保存。
误会 4:注释能让程序跑得更快。
电脑会跳过它。 它不加快,也不计算结果。
误会 5:程序能跑,注释就可以永远不改。
旧注释会骗人。 骗人的路牌,比没有路牌更危险。
想知道更多
- 书:潘洪波《小学生 Python 趣味编程》(例子旁边常有「这一步在干什么」的说明,正是注释的精神)。
- 书:埃里克·马瑟斯《Python 编程:从入门到实践》(前面几章可以和家长一起看,里面的例子常带着简短说明)。
未登录时不会保存学习进度