好的,我知道三引号字符串可以作为多行注释。例如,
"""Hello, I am a
multiline comment"""
and
'''Hello, I am a
multiline comment'''
但从技术上讲,这些是字符串,对吧?
我已经在谷歌上搜索并阅读了Python风格指南,但我无法找到一个技术上的答案,为什么没有正式实现多行/* */类型的注释。我对使用三引号没有问题,但我有点好奇是什么导致了这个设计决定。
好的,我知道三引号字符串可以作为多行注释。例如,
"""Hello, I am a
multiline comment"""
and
'''Hello, I am a
multiline comment'''
但从技术上讲,这些是字符串,对吧?
我已经在谷歌上搜索并阅读了Python风格指南,但我无法找到一个技术上的答案,为什么没有正式实现多行/* */类型的注释。我对使用三引号没有问题,但我有点好奇是什么导致了这个设计决定。
当前回答
对于任何在Python中寻找多行注释的人来说,使用三引号格式可能会产生一些有问题的后果,我刚刚经历了艰难的过程。考虑一下:
this_dict = {
'name': 'Bob',
"""
This is a multiline comment in the middle of a dictionary
"""
'species': 'Cat'
}
多行注释将被塞到下一个字符串中,使 “物种”的关键。最好只使用#注释。
其他回答
我通过为我的文本编辑器(TextPad)下载一个宏来解决这个问题,它可以让我突出显示行,然后在每行的第一行插入#。类似的宏删除了#。有些人可能会问为什么多行是必要的,但当您为了调试目的而试图“关闭”一段代码时,它就会派上用场。
注释掉Pycharm IDE中的一段代码:
代码|注释与行注释 Windows、Linux:按“Ctrl + /” Mac操作系统:Command + /
做一件事应该只有一种方式,这与多行字符串和单行字符串或switch/case和if的使用相矛盾,不同形式的循环。
多行注释是一个非常常见的功能,让我们面对它,多行字符串注释是一个负面影响的黑客! 我见过很多代码使用多行注释技巧,甚至编辑器也使用它。
但我想每种语言都有自己的怪癖,开发者总是坚持不去修正它。我从java方面也知道这样的怪癖,这些怪癖从90年代末就开始了,从来没有被修复过!
这可能又回到了一个核心概念,即应该有一种明显的方法来完成一项任务。额外的注释样式增加了不必要的复杂性,并可能降低可读性。
三引号在文档字符串中用作多行注释。# comments被用作内联注释,人们已经习惯了。
大多数脚本语言也没有多行注释。也许这就是原因?
参见PEP 0008,注释部分
看看你的Python编辑器是否为块注释提供了一些快捷键。Emacs支持它,Eclipse也支持,大概大多数像样的ide都支持。