这个问题在这里已经有答案了:

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

现在,我能看到的注释代码的唯一方法是用 #, ,或者将代码用三引号引起来: """.

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

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

有帮助吗?

解决方案

Python没有这样的机制。前置一个 # 到每一行来阻止评论。欲了解更多信息,请参阅 PEP 8. 。大多数 Python IDE 支持一种自动为您执行带有井号符号的块注释的机制。例如,在我的机器上的 IDLE 中,它是 替代+3替代+4.

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

其他提示

我知道解决这个问题的唯一方法就是一个好的编辑。对不起。

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

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

或者:

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

无需三引号即可执行此操作的唯一方法是添加:

if False:

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


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

M-x 注释区域,位于 Emacs'Python 模式。

在 Mac 上的 JetBrains PyCharm 中使用 命令 + / 注释/取消注释选定的代码块。在 Windows 上,使用 控制键 + /.

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

I#<esc>

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

:

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

然后做

:'a,'b s!^!#!
comm='''
Junk, or working code 
that I need to comment.
'''

您可以更换 comm 您选择的变量可能更短,易于触摸,并且您知道它不会(也不会)出现在您的程序中。例子: xxx, oo, null, nil.

是的,有(取决于您的编辑)。在 派德 (并且在 阿普塔纳工作室 与 PyDev):

  • 控制键 + 4 - 评论选定的块

  • 控制键 + 5 - 取消注释选定的块

在 Visual Studio 中使用 Visual Studio 的 Python 工具, 块可以被注释掉 控制键+K, 控制键+C 并取消评论 控制键+K, 控制键+U.

+ 派德, 、Python块注释与Eclipse Java块注释类似;选择您要评论并使用的行 控制键 + / 评论。要取消注释块,请执行相同的操作。

我用 记事本++ 在 Windows 计算机上,选择您的代码,然后键入 CTRL-K. 。要取消注释,请选择代码并按 控制键 + 转移 + K.

顺便说一句,Notepad++ 作为 Python 编辑器运行得很好。具有自动完成、代码折叠、语法突出显示等功能。而且它就像言论和啤酒一样免费!

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

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

使用 派德, ,您可以选择一个代码块并按 控制键 + #.

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

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

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

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

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

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

在 Eric4 上有一个简单的方法:选择一个块,输入 控制键+中号 评论整个块或 控制键+替代+中号 取消注释。

使用像这样的好编辑器 赛特, ,选择您的代码,然后按 控制键 + 并做了。

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top