我的计算机科学老师告诉我,“””三重引号用作注释,但我将其学习为带有换行符和缩进的字符串。这让我思考 - 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()
尝试运行它实际上会因为缩进而产生语法错误。