PyCharm 里选中十行调试代码,按 Ctrl + / 全变成 # 开头,同事却在提交里用三引号包了一段,代码评审时两个人争了半天。python多行注释到底有没有专门语法,得说清楚。

Python 没有专门的多行注释语法

官方文档的建议很直接:块注释每行以 # 开头,井号后面留一个空格。选中多行按快捷键,编辑器会自动加。三引号包起来的那段严格说是字符串,只是没赋值给变量,解释器执行完就丢,看起来像注释。语言本身没有这个语法,别被某些教程带偏。

三引号是 docstring,不是注释

写在模块、函数、类第一行的三引号字符串叫 docstring,会被 __doc__ 读到,help() 和自动生成文档的工具都靠它。函数中间随便放一段三引号,既不进 __doc__,也容易被误认为文档。里面出现同样的三引号还会提前结束,缩进不齐直接 IndentationError。

临时屏蔽一大段代码,三引号确实快。长期留在仓库里就不合适,尤其是含引号、反斜杠的文本,语法容易打架。真要用,建议只在调试时用,提交前删掉。

编辑器的多行注释快捷键

VS Code 选中行按 Ctrl + /,macOS 是 Cmd + /,再按一次取消。PyCharm 同样是 Ctrl + /,块注释是 Ctrl + Shift + /。Sublime Text、Notepad++ 也有类似组合,批量注释后检查一下 # 后面有没有空格。不同编辑器对非 Python 文件的行为不一样,别拿它当通用注释。

还有人用 if False: 把代码包起来,这也不是注释,只是不执行,缩进错了照样报错。给变量加类型标注比如 count: int = 0,那是给类型检查工具看的语法,别和 # 注释混为一谈。类型标注不影响运行,但 mypy 这类工具会检查。

想生成文档用 docstring,想留说明用 #,只调试一晚上三引号最快。python多行注释没有唯一写法,团队统一一种就行,评审时看到三引号大段文字,先问清是文档还是临时屏蔽,能少很多争论。团队统一之后,新人也照着写。