如何做多行注释?大多数语言都有块注释符号,比如:
/*
*/
如何做多行注释?大多数语言都有块注释符号,比如:
/*
*/
当前回答
Python确实有一个多行字符串/注释语法,在这种意义上,除非用作文档字符串,多行字符串不会生成字节码——就像#- prependedcomments一样。实际上,它的作用完全像注释。
另一方面,如果您说这种行为必须在官方文档中记录,才能成为真正的注释语法,那么是的,您说它不保证是语言规范的一部分是正确的。
在任何情况下,您的文本编辑器还应该能够轻松地注释掉所选区域(通过在每行前面单独放置#)。如果不是,切换到一个文本编辑器。
在没有特定文本编辑功能的情况下使用Python编程可能是一种痛苦的体验。找到正确的编辑器(并知道如何使用它)会对如何感知Python编程体验产生很大的影响。
文本编辑器不仅应该能够注释掉所选区域,还应该能够轻松地将代码块向左或向右移动,并且当您按下Enter时,它应该自动将光标置于当前缩进级别。代码折叠也很有用。
为了防止链接衰减,以下是Guido van Rossum的推文内容:
Python提示:你可以使用多行字符串作为多行注释。除非用作文档字符串,否则它们不会生成代码!: -)
其他回答
在Python 2.7中,多行注释是:
"""
This is a
multilline comment
"""
如果你在一个类中,你应该正确地制表。
例如:
class weather2():
"""
def getStatus_code(self, url):
world.url = url
result = requests.get(url)
return result.status_code
"""
你可以使用三引号字符串。当它们不是docstring(类/函数/模块中的第一件事)时,它们将被忽略。
'''
This is a multiline
comment.
'''
(确保适当缩进前导" '以避免出现IndentationError。)
Guido van Rossum (Python的创造者)在推特上发布了这条“专业提示”。
然而,Python的风格指南PEP8倾向于使用连续的单行注释,像这样:
# This is a multiline
# comment.
...这也是你在很多项目中会发现的。文本编辑器通常有一个快捷方式来轻松做到这一点。
我建议不要在多行注释中使用“”!
这里有一个简单的例子来强调可能被认为是意外的行为:
print('{}\n{}'.format(
'I am a string',
"""
Some people consider me a
multi-line comment, but
"""
'clearly I am also a string'
)
)
现在看一下输出:
I am a string
Some people consider me a
multi-line comment, but
clearly I am also a string
多行字符串不被视为注释,但它与'显然我也是一个字符串'连接起来,形成一个单一的字符串。
如果您想注释多行,请根据PEP 8指南执行:
print('{}\n{}'.format(
'I am a string',
# Some people consider me a
# multi-line comment, but
'clearly I am also a string'
)
)
输出:
I am a string
clearly I am also a string
没有多行注释这样的特性。#是注释一行代码的唯一方法。 你们中的许多人回答“一个评论”,这是他们的解决方案。
这看起来是可行的,但在Python内部,“'接受作为常规字符串封装的行,解释器不会像使用#的注释那样忽略它。
点击这里查看官方文件
如果你写了评论
"""
long comment here
"""
在脚本中间,Python/linters不会识别它。折叠将是混乱的,因为上面的注释不是标准建议的一部分。用起来更好
# Long comment
# here.
如果你使用Vim,你可以添加像评论这样的插件。通过按Vjgcc自动注释掉长行注释。其中Vj选择了两行代码,gcc将它们注释掉。
如果你不想使用像上面这样的插件,你可以使用搜索和替换
:.,.+1s/^/# /g
这将用#替换当前和下一行的第一个字符。