在 Python 中,IDE 如何考虑三引号 (""") 注释?

问题描述 投票:0回答:2

我的计算机科学老师告诉我,

"""
三重引号用作注释,但我将其学习为带有换行符和缩进的字符串。这让我思考 - python 完全在相关语句之外有三引号行吗?

"""is this completely ignored like a comment"""

或者,计算机真的考虑到了这一点吗?

python comments
2个回答
15
投票

三重引号字符串被许多开发人员用作注释,但实际上它不是注释,它类似于 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'

4
投票

正如其他人已经指出的那样,它们确实是 Python 中的字符串而不是注释。我只是想就你的问题“计算机是否真的在考虑它?”添加更多背景信息

答案是肯定的,因为这不是评论。以下面的代码为例:

def my_func():
"""
Some string
"""
    print("Hello World!")
my_func()

尝试运行它实际上会因为缩进而产生语法错误。将其与实际评论进行比较:

def my_func():
# Some comment
    print("Hello World!")
my_func()

运行良好并打印

Hello World!

© www.soinside.com 2019 - 2024. All rights reserved.