有没有一种机制可以注释掉大量的python代码?
现在,我唯一能看到的注释代码的方法是,要么用#开始每一行,要么用三个引号将代码括起来:"""。
这些问题在于,在每行之前插入#比较麻烦,并且"""使我想用作注释的字符串出现在生成的文档中。
在阅读了所有评论之后,答案似乎是"不"。
- 这个问题之前在堆栈溢出问题中得到了回答,为什么Python没有多行注释?.
- 专业实践的附加指南,"不要使用三重引号",将其与其他文章区别开来…
- 叹息。另一个有用且不重复的问题标记为重复…这一个要求一个解决方案,而另一个则以答案(即没有,没有解决方案)作为先决条件,询问它必须要问什么。
python没有这样的机制。在每行前面加一个#来阻止注释。有关更多信息,请参阅PEP 8。大多数pythonide都支持一种机制,可以为您自动使用pound符号进行块注释。例如,在我的机器空闲时,它是alt+3和alt+4。
不要使用三引号;正如您发现的,这是用于文档字符串而不是块注释,尽管它有类似的效果。如果你只是暂时把事情说出来,这可以作为一种临时措施。
- 吉妮也有这个。右键单击,格式化,注释行。
- 对于非美国人来说,这是一个"散列"符号。
- 在记事本++中,这是任何支持的语言的Ctrl+K(v.5.9.2)。
- 在Eclipse中,使用ctrl+/执行选定代码块的切换注释。如果代码只有一行,则不需要选择代码。
- 即使对美国人来说,"磅"应该是&163;还是?.
- 混合多行字符串和块注释的一个缺点是,IDE不知道您想要什么,因此不能根据需要以不同的样式显示注释。
- 在安装了nerdcmontor的VIM中,选择要注释的代码部分并按\c很容易。
- 在Pycharm中,是ctrl-/
- @Janusz谢谢你!你刚刚救了我以后的头疼哈哈
- @不,就像…大约7.3米!
- 不能使用包含三引号的三引号代码。
- 实际上,这个符号被称为Octothorp。请不要再使用当地的俚语了——很少有美国人称它为杂凑,也很少有非美国人称它为一磅,但当他们说Octothorp时,没有人提及其他任何东西。除了那个选择用这个明确的答案来表达其他意思的人。
- python的创建者实际上建议使用多行字符串作为块注释,所以我认为您的语句"不要使用三引号"是不合适的。
- @杰西威伯:不过,他在这个答案后大约两年半写的,所以他改变了主意。:)
- 从微软开发人员那里,是一个"尖锐"的标志
- @战争的艺术是正确的,是一个八胞体。"*"是六索普,"+"是四索普,"-"是二索普。哲学问题:索普是什么?
- @皮埃尔:索普是什么?->英语.stackexchange.com/a/190140/9001
- @雨果:谢谢你的澄清。事实上,我的意思是作为一个禅宗,vg。"一只手拍的声音是什么?索普将是一行结束在一页的边缘,其另一端无限和从未见过。像磁单极。
- @Jessewbb虽然可能注意到使用了三引号,但我在我使用的Python库(pyshark)中发现了一个关于Python3的错误。Pyshark库中的三引号注释中曾经有这一行:(即devicepf_..)。这在python2中被忽略,运行良好,但是python 3抛出了这个错误:"syntaxerror:(unicode错误)"unicodeescape编解码器无法解码位置14-15中的字节:格式错误的字符。"从那时起,我避免使用三引号。
- pycharm中的Ctrl+/将对突出显示的行进行注释/取消注释。
- 对于互联网的公民,为了真正成为未来的全球公民,你应该意识到在你的专业领域中有一些多产的地区性命名差异。
- @皮埃尔实际上你发送的铭文是一个五索普。如果这个网站使用的是serif字体,它将是一个六字形。星号很奇怪。
- 如上所述,python的创建者实际上建议使用三引号作为块注释。大多数编辑器都会检测到以这种方式使用的三重引号字符串(未分配或以任何方式使用),并用注释颜色对其进行着色。您可以使用'''来注释包含"""的代码块,反之亦然。
- Octothorpe!哈哈,就像任何人都会这么蠢的叫它。它是一个"尖利的"。它不是1960年发明的,它是一种音乐符号,比电脑早了很多年。
- 将其称为哈希、哈希符号或数字符号是最佳选择。尤其是现在,在2017年,哈希是最常见的引用该符号的方法之一。没有人把它称为Octothorpe,除非人们试图炫耀自己知道它被称为Octothorpe。oxfordlearnersdictionaries.com/us/definition/english/…
- 对音乐家来说,这是一个尖锐的标志。(例如,一个大音阶:A B C D E F G A)
- @Johnktejik这个'?'是一个尖锐的标志。#'这是号码sig。
- @尼凡也是。
- 正确的术语是"数字符号"(Unicode U+0023)。它还索引在"octothorpe"、"crosshatch"、"pound sign"和"hash"下。
- 据普遍报道,最初的"octothorpe"名字是贝尔实验室的一个笑话:worldwidewords.org/weirdwords/ww-oct1.htm
- 我觉得非常愚蠢,因为Python没有注释大量代码的机制。对于一种为消除沉闷而写的语言来说,这确实是乏味的。
唯一能治好这病的方法就是找个好编辑。对不起的。
- +0.5,因为提到支持Python的编辑器通常有助于满足这一需求。+0.5如果不通过特别提到任何一位编辑来启动编辑的"火焰大战",则为:—)
- 显然,所有真正的python程序员都使用ed,在这里这个问题很容易用12,31s解决。/^/#/
- VIM,带能量监测器。选择所需的块,c
在不会被误认为是docstring的上下文中隐藏三重引号,例如:
1 2 3
| '''
...statements...
''' and None |
或:
1 2 3
| if False: '''
...statements...
''' |
- 我不认为这是一个好的建议,你在增加代码的复杂性,却没有任何真正的好处。有人读到这本书,就必须弄清楚为什么会有这样的代码,以及它支持做什么。
- 如果要注释的代码已经包含三个带引号的字符串怎么办?
- 幸运的是我没有。
在没有三个引号的情况下,唯一可以做到这一点的方法是添加:
然后缩进所有代码。注意,代码仍然需要有正确的语法。
许多python-ide可以在每一行上为您添加#,在取消注释时也可以删除它们。同样,如果使用vi或emacs,可以为代码块创建一个宏来执行此操作。
- OP提到他们不希望注释显示为文档字符串。
- 啊,我不好。我又提了一个建议。
- 我喜欢这个。如果是假的,我会用的。不重要。
- @递归:更改为if false:
- - 1缩回。这是一个聪明的想法,尽管这可能意味着评论需要评论:)
- 这个解决方案类似于仅仅注释代码,只不过您添加了四个空格而不是,并且您还需要添加"if-false:"行。
- 我在做一些脚本黑客,这就是我想到的。(所以,+1)。我可以简单地写"if-false:"这是非常巧妙的,将块推到1个标签上,就完成了。我使用了多个编辑器,其中方法仅为,突出显示块,然后按Tab。奇怪的是,我问了一个朋友最初的问题,想在新的时候炫耀一下S.O.。
- pycharm中的ctrl+/或ctrl+shift+/也一样
M-X注释区域,在Emacs的python模式下。
在Mac上的JetBrains PyCharm中,使用commandakbd+/对选定的代码块进行注释/取消注释。在Windows上,使用ctrl+/。
- 这也适用于Pycharm社区版,这是免费和开源的。
- 谢谢!也适用于文本包装器
- windows上的CTRL和/不适用于瑞典键盘布局。
至少在vim中,您可以使用块视觉模式(非Windows vims中的CTRL+V)选择要插入的文本的第一列,然后在每行之前使用此序列预先准备一个#:
在块视觉模式中,I移动到插入模式,光标位于块第一行的前面。插入的文本将复制到块中的每一行之前。
六:
- 到块的顶部用字母A标记。
- 转到块的底部并用字母B标记
然后做
- 或者:ctrl+v(并选择行)=>:s/^//g如果文本突出显示困扰您=>:noh
1 2 3 4
| comm='''
Junk, or working code
that I need to comment.
''' |
您可以用您选择的一个变量替换comm,该变量可能较短、易于触摸,并且您知道在您的程序中不会(也不会)发生这种情况。示例:xxx、oo、null、nil。
是的,有(取决于你的编辑)。在pydev(和aptana studio with pydev)中:
ctrl+4-注释选择块
ctrl+5-取消对所选块的注释
在Eclipse + PyDeV中,Python块注释类似于Eclipse Java块注释;选择要注释的行,并使用CtR+/进行注释。要取消注释块的注释,请执行相同的操作。
在使用用于Visual Studio的python工具的Visual Studio中,块可以由ctrl+kbakbd、ctrl+c注释掉,也可以由ctrl+kbakbd、ctrl+u注释掉。
注释掉python代码(理解为解释器忽略的代码)的唯一机制是。
正如您所说,您还可以使用字符串文本,这些字符串文本不被解释器忽略,但与程序执行完全无关。
我在Windows机器上使用记事本+,选择代码,键入CTRL-K。要取消注释,请选择"代码",然后按ctrl+shift+kbd。
顺便说一下,记事本++作为一个Python编辑器工作得很好。具有自动完成、代码折叠、语法突出显示等功能。它是自由的,就像在演讲和啤酒中一样!
在使用pydev的eclipse中,您可以选择一个代码块,然后按ctrl+ 。
- 要取消对块的注释,请使用ctrl+shift+#
- 这也适用于python的komodo edit
在eric4上有一种简单的方法:选择一个块,键入ctrl+m来注释整个块,或键入ctrl+alt+m取消注释。
另一个基于编辑器的解决方案:Emacs中的文本"矩形"。
突出显示要注释的代码,然后是c-x-r-t#
取消对代码的注释:突出显示,然后是C-X-R-K
我每天都用这个。(当然,分配给热键。)
这个强大的regex搜索/替换是我容忍emacs的其他"偏心"的原因。
三个引号对我来说是可以的。您可以将"foo"用于docstrings,将"bar"用于注释,反之亦然,以使代码更具可读性。
- 我对三引号的问题是它们实际上是被检查语法的。这必须是注释不需要的开销。举个例子:如果您有''''/npf'',并在python 3中运行它,它将抛出一个语法错误。所以python 3正在检查每个三引号的语法有效性。如果切换到并对行进行注释,则跳过该行。
使用scite这样的编辑器,选择代码,按ctrl+q并完成。
如果没有支持块注释的编辑器,可以在代码块的开头和结尾使用三重引号的字符串"有效地"注释掉它。但这不是最佳实践。