在 Python 3.5 中,IDE 如何将三重引号 (""") 视为注释?
In Python 3.5, how are triple quotes (""") considered comments by the IDE?
我的 CS 老师告诉我,“””三重引号用作注释,但我将其作为带有换行符和缩进的字符串学习。这让我想到了 - python 完全 相关语句之外的三引号行?
"""is this completely ignored like a comment"""
——或者,计算机真的在考虑这个吗?
三重引号字符串被许多开发人员用作注释,但它实际上不是注释,它类似于 python 中的常规字符串,但它允许字符串在多行中。您会发现没有官方参考文献将三引号字符串作为注释。
在python中,只有一种评论以散列#
开头,并且只能包含一行文本。
根据 PEP 257,它可以用作文档字符串,这又不是真正的注释。
def foo():
"""
Developer friendly text for describing the purpose of function
Some test cases used by different unit testing libraries
"""
<body of the function>
您可以像处理单引号字符串一样将它们分配给一个变量:
x = """a multi-line text
enclosed by
triple quotes
"""
此外,如果您在 repl 中尝试,会打印三引号字符串,如果它真的是评论,是否应该打印?:
>>> #comment
>>> """triple quoted"""
'triple quoted'
正如其他人已经指出的那样,它们确实是字符串而不是 Python 中的注释。我只是想为您的问题“计算机是否真的在考虑它?”添加更多背景信息?
答案是肯定的,因为它不是评论。以下面的代码为例:
def my_func():
"""
Some string
"""
print("Hello World!")
my_func()
尝试 运行 这实际上会因为缩进而产生语法错误。
据我所知,三重引号可用于两种目的,但 #
是评论的标准。
根据this网站,我能理解的是''' This '''
可以用作注释,并且因为它们在技术上被处理为文档字符串(未测试)' This '
也可以根据放置位置作为注释。然而,尽管单引号和三引号可以用作注释,但并不意味着它们是注释。例如,#
注释被解释器完全忽略,而 '''
注释可能被加载到内存中(只是一个可能的猜测,未证实)。但据我所知,它们并未作为注释处理,如下所示:
所以它们不是,但它们可以用作评论。一般来说,使用#
.
编辑:
正如@BTables 指出的那样,如果你没有正确缩进它们,你会得到一个缩进错误。所以它们确实是作为字符串处理的。
我的 CS 老师告诉我,“””三重引号用作注释,但我将其作为带有换行符和缩进的字符串学习。这让我想到了 - python 完全 相关语句之外的三引号行?
"""is this completely ignored like a comment"""
——或者,计算机真的在考虑这个吗?
三重引号字符串被许多开发人员用作注释,但它实际上不是注释,它类似于 python 中的常规字符串,但它允许字符串在多行中。您会发现没有官方参考文献将三引号字符串作为注释。
在python中,只有一种评论以散列#
开头,并且只能包含一行文本。
根据 PEP 257,它可以用作文档字符串,这又不是真正的注释。
def foo():
"""
Developer friendly text for describing the purpose of function
Some test cases used by different unit testing libraries
"""
<body of the function>
您可以像处理单引号字符串一样将它们分配给一个变量:
x = """a multi-line text
enclosed by
triple quotes
"""
此外,如果您在 repl 中尝试,会打印三引号字符串,如果它真的是评论,是否应该打印?:
>>> #comment
>>> """triple quoted"""
'triple quoted'
正如其他人已经指出的那样,它们确实是字符串而不是 Python 中的注释。我只是想为您的问题“计算机是否真的在考虑它?”添加更多背景信息?
答案是肯定的,因为它不是评论。以下面的代码为例:
def my_func():
"""
Some string
"""
print("Hello World!")
my_func()
尝试 运行 这实际上会因为缩进而产生语法错误。
据我所知,三重引号可用于两种目的,但 #
是评论的标准。
根据this网站,我能理解的是''' This '''
可以用作注释,并且因为它们在技术上被处理为文档字符串(未测试)' This '
也可以根据放置位置作为注释。然而,尽管单引号和三引号可以用作注释,但并不意味着它们是注释。例如,#
注释被解释器完全忽略,而 '''
注释可能被加载到内存中(只是一个可能的猜测,未证实)。但据我所知,它们并未作为注释处理,如下所示:
所以它们不是,但它们可以用作评论。一般来说,使用#
.
编辑: 正如@BTables 指出的那样,如果你没有正确缩进它们,你会得到一个缩进错误。所以它们确实是作为字符串处理的。