好的,我知道三引号字符串可以作为多行注释。例如,
"""Hello, I am a
multiline comment"""
and
'''Hello, I am a
multiline comment'''
但从技术上讲,这些是字符串,对吧?
我已经在谷歌上搜索并阅读了Python风格指南,但我无法找到一个技术上的答案,为什么没有正式实现多行/* */类型的注释。我对使用三引号没有问题,但我有点好奇是什么导致了这个设计决定。
好的,我知道三引号字符串可以作为多行注释。例如,
"""Hello, I am a
multiline comment"""
and
'''Hello, I am a
multiline comment'''
但从技术上讲,这些是字符串,对吧?
我已经在谷歌上搜索并阅读了Python风格指南,但我无法找到一个技术上的答案,为什么没有正式实现多行/* */类型的注释。我对使用三引号没有问题,但我有点好奇是什么导致了这个设计决定。
当前回答
来自The Zen of Python:
应该有一种——最好只有一种——明显的方法来做到这一点。
其他回答
假设他们只是被认为是不必要的。由于键入#注释非常简单,多行注释可以由许多单行注释组成。
另一方面,对于HTML来说,更需要多行程序。继续输入<!——像这样的评论——>。
对于任何在Python中寻找多行注释的人来说,使用三引号格式可能会产生一些有问题的后果,我刚刚经历了艰难的过程。考虑一下:
this_dict = {
'name': 'Bob',
"""
This is a multiline comment in the middle of a dictionary
"""
'species': 'Cat'
}
多行注释将被塞到下一个字符串中,使 “物种”的关键。最好只使用#注释。
因为#惯例是一种常见的惯例,用多行注释确实没有什么是用#符号注释做不到的。这是一个历史的偶然,就像/*…*/返回PL/I的注释,
# This
# is
# a
# multi-line
# comment
在编辑器中使用注释块或搜索和替换(s/^/#/g)来实现这一点。
我记得读过一个家伙,他会把他的多行注释放入一个三引号变量中:
x = '''
This is my
super-long mega-comment.
Wow there are a lot of lines
going on here!
'''
这确实会占用一些内存,但它为您提供了多行注释功能,而且大多数编辑器都会为您突出显示语法:)
通过简单地包装代码,注释代码也很容易
x = '''
and
'''