当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《如何在Python中注释掉一段代码》经验,为你挑选了10个好方法。

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

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

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

阅读完所有评论后,答案似乎是"不".



1> John Feminel..:

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

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


@ArtOfWarfare是正确的,'#'是octothorpe.并且'*'是六面体,'+'是四面体,' - '是duothorpe.哲学问题:什么是荆棘?
对于非美国人来说,这是一个"哈希"的标志.
在**Notepad ++**中,对于任何支持的语言,都是"Ctrl + K"(v.5.9.2)
实际上,这个符号被称为octothorp.请停止使用当地俚语 - 很少有美国人称之为哈希,很少有非美国人称之为英镑,但当他们说octothorp时,没有人会提到任何其他内容.除了选择通过使用它来表达其他东西而无视这个明确答案的人.
即使对美国人来说,"英镑"应该是£或₤.
@Pierre:什么是索普? - > http://english.stackexchange.com/a/190140/9001
实际上python的创建者[建议使用多行字符串作为块注释](http://stackoverflow.com/a/7696966/346561),所以我要说你的语句"不要使用三引号"isn'适当的.
来自Microsoft开发人员,#是一个"尖锐"的标志
将其称为哈希,哈希符号或数字符号是最好的选择.特别是现在2017年,哈希是引用该符号的最常用方式之一.除了人们试图炫耀他们知道它被称为octothorpe之外,没有人将它称为octothorpe.https://www.oxfordlearnersdictionaries.com/us/definition/english/hash_1?q=hash
@Hugo:谢谢你的澄清.实际上,我的意思是Zen Koan,vg."一手鼓掌的声音是什么".一条荆棘将是一条终止于页面边缘的线条,其另一端无限且从未见过.像磁单极子.
正确的术语是“数字符号”(Unicode U + 0023)。它还在“ octothorpe”,“ crosshatch”,“英镑符号”和“ hash”下索引。
@JesseWebb:尽管如此,他写了大约两年半的答案,所以他改变了主意.:)
**PyCharm**中的`Ctrl + /`将对突出显示的行进行注释/取消注释
这对音乐家来说是一个尖锐的标志.(例如,一个主要尺度:ABC#DEF#G#A)
@johnktejik这个“♯”是一个尖锐的符号。“#”是数字sig。
@JesseWebb虽然可能会注意到使用三引号,但是我发现python库中的一个错误我正在使用(Pyshark)关于Python 3.在pyshark库中的三重引用注释中曾经存在这一行:(即\设备\ NPF_ ..).这在Python2中被忽略并运行良好,但是Python 3抛出了这个错误:"SyntaxError :( unicode error)'unicodeescape'编解码器无法解码位置14-15中的字节:格式错误的\ N字符." 从那时起,我避免使用三重引号.
@Pierre实际上你发送的字形是一个五面体.如果这个站点使用serif字体,它将是一个hexathrope.星号很奇怪.
奥克索普!像任何人一样大声笑着称呼它。这是一个“尖锐的”。它不是在1960年发明的,而是一种音乐符号,可以追溯到计算机之前。
我发现python没有注释掉大块代码的机制真是太愚蠢了。对于为消除乏味而编写的语言,这种确定是乏味的。

2> 小智..:

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


显然,所有Real Python程序员都使用ed,这个问题可以通过以下方式轻松解决:12,31s/^ /#/
vim with nerdcommenter.选择所需的块,c

3> bobince..:

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

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

要么:

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


我不认为这是一个很好的建议,你增加了代码的复杂性而没有任何实际的好处.有人在阅读时必须弄清楚为什么那里有代码以及它要做什么.
如果要注释掉的代码已包含三引号字符串,该怎么办?

4> Brian R. Bon..:

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

if False:

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


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


该解决方案类似于仅仅注释掉代码,除了您添加四个空格而不是#并且还需要添加"if False:"行.

5> 小智..:

Mx评论区域,在Emacs的Python模式中.


M-; (评论-dwim)也是

6> marcinj..:

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


这也适用于PyCharm Community Edition,它是免费和开源的.

7> Nathan Fellm..:

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

I#

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



8> 小智..:

在vi中:

转到块顶部并用字母a标记.

转到块的底部并用字母b标记

然后做

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



9> Harry..:
comm='''
Junk, or working code 
that I need to comment.
'''

您可以comm选择一个较短,易于触摸的变量替换,并且知道程序中不会(也不会发生)。例如:xxxoonullnil



10> jacanterbury..:

是的,有(取决于你的编辑).在PyDev中(以及在带有PyDev的Aptana Studio中):

Ctrl+ 4- 评论选定的块

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

推荐阅读
Life一切安好
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有