是否可以在文档字符串中包含常量的值?
Is it possible to include the value of a constant in a docstring?
我想这样做:
FOO_CONSTANT = 1
def foo():
"""asdf """ + str(FOO_CONSTANT)
print(foo.__doc__)
应该打印:
asdf 1
而是打印
None
我可以通过
获得预期的输出
FOO_CONSTANT = 1
def foo():
"""asdf """
foo.__doc__ += str(FOO_CONSTANT)
print(foo.__doc__)
但是在代码中散布文档字符串感觉很糟糕。
是否可以在文档字符串中包含常量的值?
PS:我发现 this 是远程相关的。那里尝试的方法也不会生成有效的文档字符串,请注意它是关于生成动态文档字符串的,而我的 FOO_CONSTANT
预计不会更改。我只是想避免重复自己。名称 FOO_CONSTANT
对文档字符串的 reader 没有意义,但值有意义,它出现在几个我不想重复的文档字符串中。
我发现这是一个有趣的问题并决定对其进行调查,但我自己无法想出一个不会传播文档字符串的答案,而这是您想避免的。[1 ]
但是在调查这个问题的过程中,我发现了这些已经回答的问题,我希望它们能帮助您解决问题:
- How to put a variable into Python docstring
[1] 就像这样,您至少可以在文档字符串中显示缺少值。
FOO_CONSTANT = 1
def foo():
"""docstring with {0} or {1} replacements."""
foo.__doc__ = foo.__doc__.format(1, 2)
print(foo.__doc__)
> "docstring with 1 or 2 replacements".
我想这样做:
FOO_CONSTANT = 1
def foo():
"""asdf """ + str(FOO_CONSTANT)
print(foo.__doc__)
应该打印:
asdf 1
而是打印
None
我可以通过
获得预期的输出FOO_CONSTANT = 1
def foo():
"""asdf """
foo.__doc__ += str(FOO_CONSTANT)
print(foo.__doc__)
但是在代码中散布文档字符串感觉很糟糕。
是否可以在文档字符串中包含常量的值?
PS:我发现 this 是远程相关的。那里尝试的方法也不会生成有效的文档字符串,请注意它是关于生成动态文档字符串的,而我的 FOO_CONSTANT
预计不会更改。我只是想避免重复自己。名称 FOO_CONSTANT
对文档字符串的 reader 没有意义,但值有意义,它出现在几个我不想重复的文档字符串中。
我发现这是一个有趣的问题并决定对其进行调查,但我自己无法想出一个不会传播文档字符串的答案,而这是您想避免的。[1 ]
但是在调查这个问题的过程中,我发现了这些已经回答的问题,我希望它们能帮助您解决问题:
- How to put a variable into Python docstring
[1] 就像这样,您至少可以在文档字符串中显示缺少值。
FOO_CONSTANT = 1
def foo():
"""docstring with {0} or {1} replacements."""
foo.__doc__ = foo.__doc__.format(1, 2)
print(foo.__doc__)
> "docstring with 1 or 2 replacements".