作者:Life一切安好 | 2023-08-28 23:10
有没有一种机制可以注释掉大块的Python代码?
现在,我能看到注释掉代码的唯一方法是用a开始每一行#
,或用三引号括起代码:"""
.
这些问题是#
在每行之前插入很麻烦,"""
并使我想用作注释的字符串显示在生成的文档中.
阅读完所有评论后,答案似乎是"不".
1> John Feminel..:
Python没有这样的机制.#
在每行前面加上一条来阻止评论.有关更多信息,请参阅PEP 8.大多数Python IDE都支持一种机制来自动为您执行块注释 - 带符号.例如,在我的机器上的IDLE中,它是Alt+ 3和Alt+ 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
选择一个较短,易于触摸的变量替换,并且知道程序中不会(也不会发生)。例如:xxx
,oo
,null
,nil
。
10> jacanterbury..:
是的,有(取决于你的编辑).在PyDev中(以及在带有PyDev的Aptana Studio中):
Ctrl+ 4- 评论选定的块
Ctrl+ 5- 取消注释选定的块