如何在Python中注释掉一段代码

时间:2009-03-23 22:17:57

标签: python docstring

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

目前,我可以看到评论代码的唯一方法是使用#开始每一行,或者将代码括在三引号中:"""

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

阅读完所有评论后,答案似乎是“否”。

19 个答案:

答案 0 :(得分:392)

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

不要使用三引号,如您所发现的,这是用于文档字符串而不是阻止注释,尽管它具有类似的效果。如果你只是暂时评论一下,这可以作为临时措施。

答案 1 :(得分:87)

我知道的唯一治疗方法是一位优秀的编辑。抱歉。

答案 2 :(得分:68)

在不会被误认为文档字符串的上下文中隐藏三引号,例如:

'''
...statements...
''' and None

或:

if False: '''
...statements...
'''

答案 3 :(得分:36)

没有三重引号的唯一方法是添加:

if False:

然后缩进所有代码。请注意,代码仍需要具有正确的语法。


许多Python IDE可以在每个选定的行上为您添加#,并在取消注释时删除它们。同样,如果您使用viEmacs,则可以创建一个宏来为您执行此代码块。

答案 4 :(得分:28)

M-x评论区域,Emacs'Python模式。

答案 5 :(得分:21)

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

答案 6 :(得分:16)

至少在VIM中,您可以使用Block Visual模式(非Windows VIM中的CTRL+V)选择要插入的第一列文本,然后使用此序列在每行前面添加#

I#<esc>

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

答案 7 :(得分:8)

vi中:

  • 转到街区顶部并用字母a标记。
  • 转到块的底部并用字母b
  • 标记

然后做

:'a,'b s!^!#!

答案 8 :(得分:5)

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

您可以将comm替换为您选择的变量,该变量可能更短,易于触摸,并且您知道在您的程序中不会(也不会)出现。示例:xxxoonullnil

答案 9 :(得分:5)

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

  • Ctrl + 4 - 评论选定的块

  • Ctrl + 5 - 取消注释所选块

答案 10 :(得分:4)

Eclipse + PyDev中,Python块注释类似于Eclipse Java块注释;选择要评论的行,然后使用 Ctrl + / 进行评论。要取消注释已注释的块,请执行相同的操作。

答案 11 :(得分:4)

在使用Python Tools for Visual Studio的Visual Studio中,可以通过 Ctrl + K Ctrl + 注释掉块C 并取消注释 Ctrl + K Ctrl + U

答案 12 :(得分:3)

我在Windows计算机上使用Notepad++,选择您的代码,输入CTRL-K。要取消注释,请选择代码,然后按 Ctrl + Shift + K

顺便说一下,Notepad ++可以很好地用作Python编辑器。具有自动完成,代码折叠,语法突出显示等功能。它在演讲和啤酒中都是免费的!

答案 13 :(得分:3)

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

正如您所说,您也可以使用string literals,但解释器不会忽略它,但可能与程序执行完全无关。

答案 14 :(得分:2)

在使用EclipsePyDev中,您可以选择代码块并按 Ctrl +

答案 15 :(得分:1)

在Eric4上有一个简单的方法:选择一个块,输入 Ctrl + M 来评论整个块或 Ctrl + alt + M 取消注释。

答案 16 :(得分:1)

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

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

取消注释代码:突出显示,然后是C-x-r-k

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

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

答案 17 :(得分:0)

使用像SciTe这样的精美编辑器,选择你的代码,按 Ctrl + Q 并完成。

如果您没有支持块注释的编辑器,您可以在代码块的开头和结尾使用三重引号字符串来“有效”地将其注释掉。但这不是最好的做法。

答案 18 :(得分:0)

三重报价对我来说还可以。 您可以使用'''foo'''作为文档字符串,使用“”“bar”“”作为注释,反之亦然,以使代码更具可读性。