是否有一种机制可以注释掉大块的Python代码?

现在,我所能看到的注释代码的唯一方法是用#开始每一行,或者用三引号括起代码:""" "。

这样做的问题是在每行之前插入#很麻烦,而“”会使我想用作注释的字符串显示在生成的文档中。

在阅读了所有的评论后,答案似乎是“不”。


当前回答

注释掉Python代码(被解释器理解为忽略的代码)的唯一机制是#。

正如你所说的,你也可以使用字符串字面量,它不会被解释器忽略,但可以与程序执行完全无关。

其他回答

我唯一知道的解决办法就是找个好编辑。对不起。

三引号对我来说是可以的。 您可以使用" ' foo " '作为文档字符串,使用""" bar """ "作为注释,反之亦然,以使代码更具可读性。

另一个基于编辑器的解决方案:Emacs中的文本“矩形”。

突出显示要注释掉的代码,然后是c -x-r- t#

取消注释代码:高亮,然后是C-x-r-k

我每天都在用这个。(当然,分配给热键。)

这一点和强大的正则表达式搜索/替换是我容忍Emacs的其他“怪癖”的原因。

Python没有这样的机制。在每行前加上#以阻止注释。有关更多信息,请参阅PEP 8。大多数Python ide都支持一种机制来自动执行带哈希符号的块注释。例如,在我机器的IDLE中,它是Alt+3和Alt+4。

不要使用三引号;正如您所发现的,这是针对文档字符串而不是块注释的,尽管它具有类似的效果。如果你只是暂时注释掉一些东西,这作为一个临时措施是可以的。

是的,有(取决于你的编辑)。在PyDev(和Aptana Studio与PyDev):

按Ctrl + 4 -注释选定的块 按Ctrl + 5取消所选块的注释