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

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

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

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


当前回答

M-x注释区域,在Emacs的Python模式下。

其他回答

至少在VIM中,你可以选择你想要插入的文本的第一列,使用Block Visual模式(在非windows VIM中CTRL+V),然后在每行之前使用下面的序列加上#:

I#<esc>

在块可视化模式下,我移动到插入模式,光标在块的第一行之前。插入的文本在块中的每一行之前复制。

comm='''
Junk, or working code 
that I need to comment.
'''

你可以用你选择的一个更短、更容易触控的变量替换comm,并且你知道不会(也不会)出现在你的程序中。示例:xxx, oo, null, nil。

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

在Mac上的JetBrains PyCharm中,使用Command + /注释/取消注释选定的代码块。在Windows下,使用CTRL + /。

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

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