注释掉一个Python代码块
有没有一种机制来评论大块的Python代码?
现在,我可以看到注释代码的唯一方法是每行都用#
,或者用三个引号将代码括起来: """
。
问题在于,在每一行之前插入#
是很麻烦的, """
使我想用作注释的string显示在生成的文档中。
看完所有评论后,答案似乎是“不”。
Python没有这样的机制。 在每行前加一个#
来阻止评论。 欲了解更多信息,请参阅PEP 8 。 大多数Python IDE支持一种机制来自动为您执行块注释和磅符号。 例如,在我的机器上的IDLE中,它是Alt + 3和Alt + 4 。
不要使用三重引号; 正如您发现的那样,这是针对文档string而不是阻止评论的,尽pipe它具有类似的效果。 如果你只是暂时评论一下,这可以作为临时措施。
我所知道的唯一治疗方法是编辑。 抱歉。
在不会误认为文档string的上下文中隐藏三重引号,例如:
''' ...statements... ''' and None
要么:
if False: ''' ...statements... '''
你可以做这个没有三重引号的唯一方法是添加一个:
if False:
然后缩进所有的代码。 请注意,代码仍然需要有适当的语法。
许多Python IDE可以为每个选定的行添加#
,并在取消注释时删除它们。 同样,如果你使用vi或Emacs,你可以创build一个macros来为你做一块代码。
Mx注释区域,在Emacs的Python模式下。
至less在VIM中,您可以使用块可视模式(非可视VIM中的CTRL+V
)select要插入的第一列文本,然后在每行之前使用以下序列前置一个#
:
I#<esc>
在“块可视”模式下, I
将移动到插入模式,光标位于第一行的块之前。 插入的文本在块的每一行之前被复制。
在JetBrains Mac上的PyCharm使用命令 + /来评论/取消注释选定的代码块。 在Windows上,使用CTRL + / 。
在vi中 :
- 转到块的顶部并用字母a标记。
- 转到块的底部并用字母b标记
然后做
:'a,'bs!^!#!
在Eclipse + PyDev中 ,Python块注释与Eclipse Java块注释类似; select你想评论的行,并使用Ctrl + /来评论。 取消注释块,做同样的事情。
是的,有(取决于你的编辑器)。 在PyDev (和PyDev在Aptana Studio中 ):
-
Ctrl + 4 – 注释选定的块
-
Ctrl + 5 – 取消select块的注释
注释掉Python代码(理解为被解释器忽略的代码)的唯一机制是# 。
正如你所说,你也可以使用string文字 ,这是不会被解释器忽略的,但对于程序执行可能是完全不相关的。
在使用Visual Studio的Python工具的Visual Studio中 ,可以通过Ctrl + K , Ctrl + C和Ctrl + K , Ctrl + U取消注释块。
我在Windows机器上使用Notepad ++ ,select你的代码,inputCTRL-K
。 要取消注释,请select代码并按Ctrl + Shift + K。
顺便提一下,Notepad ++可以很好地作为Python编辑器使用。 随着自动完成,代码折叠,语法突出,等等。 而且在讲话和啤酒方面都是免费的!
在使用PyDev的 Eclipse中,您可以select一个代码块并按Ctrl + # 。
comm=''' Junk, or working code that I need to comment. '''
你可以用你自己select的variables来代替comm
,这个variables可能更短,易于触摸,而且你知道在你的程序中没有(也不会)。 例如: xxx
, oo
, null
, nil
。
另一种基于编辑器的解决scheme:Emacs中的文本“矩形”。
突出显示你想注释掉的代码,然后Cxrt#
取消注释代码:突出显示,然后Cxrk
我每天都用这个。 (当然,分配给热键。)
这个和强大的正则expression式search/replace是我容忍Emacs的其他“怪癖”的原因。
在Eric4上有一个简单的方法:select一个块,键入Ctrl + M来注释整个块或者Ctrl + alt + M来取消注释。
三重引号对我来说是好的。 您可以使用'''foo'''作为文档,使用“”“bar”“”作为注释,反之亦然,以使代码更具可读性。
使用像SciTe一样好的编辑器,select你的代码,按Ctrl + Q完成。
如果您没有支持块注释的编辑器,则可以在代码块的开始和结尾使用三重引号string来“有效”地注释它。 但这不是最好的做法。