python - 这段 python 代码中的文档字符串有什么用?

标签 python docstring

我对简单电子邮件 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/

相关文章:

python - 在 python 多处理中获取 imap_unordered 当前输出的索引的最佳方法是什么

python - 两个 Pandas 数据帧之间每个单元格中不同的位计数

python - FB Messenger API 响应太多

python - 有什么理由在 Python 中将代码放在文档字符串之前?

python - 我将如何漂亮地打印 python 文档字符串?

Python 算法 : Necklace Generation/Circular Permutations

Python Pandas 子集列 x 值基于列 y 中的唯一值

python - Sphinx meth 角色不创建链接

python - 使用 pylint 文档参数时减少 Python 文档字符串中的冗余

python - 属性文档字符串