我对简单电子邮件 Python 脚本中的文档字符串有疑问。
message = """\
From: %s
To: %s
Subject: %s
%s
""" % (FROM, ", ".join(TO), SUBJECT, TEXT)
我经常在电子邮件脚本中看到这样的文档字符串。我的问题是,文档字符串在做什么?我认为文档字符串仅用于 help
命令等。如果这是一个愚蠢的问题,我深表歉意。
谢谢!
最佳答案
带有"""..."""
(三引号)的字符串称为多行字符串。多行字符串和文档字符串之间存在区别。后者是前者的子集。
有问题的一个被分配给一个变量,所以它不是一个文档字符串。文档字符串是您在函数顶部找到的内容,如下所示:
def foo():
"""This is a doc-string"""
pass
打印出foo.__doc__
给你
print(foo.__doc__)
'This is a doc-string'
您应该明白,只有函数中的第一个多行字符串(如果未分配)才会成为函数的文档字符串(如果未设置优化开关),其余的都将被丢弃。
相比之下,
message = """\
From: %s
To: %s
Subject: %s
%s
""" % (FROM, ", ".join(TO), SUBJECT, TEXT)
恰好是一个多行字符串,带有一些 C 样式格式参数,并分配给变量 message
。
进一步阅读:
关于python - 这段 python 代码中的文档字符串有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46029916/