好的,我知道三引号字符串可以作为多行注释。例如,

"""Hello, I am a 
   multiline comment"""

and

'''Hello, I am a 
   multiline comment'''

但从技术上讲,这些是字符串,对吧?

我已经在谷歌上搜索并阅读了Python风格指南,但我无法找到一个技术上的答案,为什么没有正式实现多行/* */类型的注释。我对使用三引号没有问题,但我有点好奇是什么导致了这个设计决定。


当前回答

注释掉Pycharm IDE中的一段代码:

代码|注释与行注释 Windows、Linux:按“Ctrl + /” Mac操作系统:Command + /

其他回答

我记得读过一个家伙,他会把他的多行注释放入一个三引号变量中:

x = '''
This is my
super-long mega-comment.
Wow there are a lot of lines
going on here!
'''

这确实会占用一些内存,但它为您提供了多行注释功能,而且大多数编辑器都会为您突出显示语法:)

通过简单地包装代码,注释代码也很容易

x = '''

and

'''
# This
# is
# a 
# multi-line
# comment

在编辑器中使用注释块或搜索和替换(s/^/#/g)来实现这一点。

做一件事应该只有一种方式,这与多行字符串和单行字符串或switch/case和if的使用相矛盾,不同形式的循环。

多行注释是一个非常常见的功能,让我们面对它,多行字符串注释是一个负面影响的黑客! 我见过很多代码使用多行注释技巧,甚至编辑器也使用它。

但我想每种语言都有自己的怪癖,开发者总是坚持不去修正它。我从java方面也知道这样的怪癖,这些怪癖从90年代末就开始了,从来没有被修复过!

这只是猜测。但

因为它们是字符串,所以它们有一些语义值(编译器不会删除它们),因此将它们用作文档字符串是有意义的。它们实际上成为AST的一部分,因此提取文档变得更加容易。

我怀疑你会得到一个比“Guido觉得不需要多行注释”更好的答案。

圭多在推特上说:

Python提示:可以将多行字符串用作多行注释。除非用作文档字符串,否则它们不会生成代码!: -)