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

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

and

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

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

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


当前回答

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

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

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

其他回答

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

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

多行注释很容易被破坏。如果你有以下一个简单的计算器程序?

operation = ''
print("Pick an operation:  +-*/")
# Get user input here

试着用多行注释注释它:

/*
operation = ''
print("Pick an operation:  +-*/")
# Get user input here
*/

哎呀,你的字符串包含结束注释分隔符。

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

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

使用IDLE的多行注释:

Mac OS X,在代码选择后,使用Ctrl+3注释代码块,并使用Ctrl+4取消注释。 Windows,在代码选择之后, 用Ctrl+Alt+3注释代码块,用Ctrl+At+4取消注释。

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

圭多在推特上说:

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