for*_*818 3 python docstring python-2.7
我想这样做:
FOO_CONSTANT = 1
def foo():
"""asdf """ + str(FOO_CONSTANT)
print(foo.__doc__)
Run Code Online (Sandbox Code Playgroud)
哪个应该打印:
asdf 1
Run Code Online (Sandbox Code Playgroud)
但相反它打印
None
Run Code Online (Sandbox Code Playgroud)
我可以获得预期的输出
FOO_CONSTANT = 1
def foo():
"""asdf """
foo.__doc__ += str(FOO_CONSTANT)
print(foo.__doc__)
Run Code Online (Sandbox Code Playgroud)
但是将文档字符串分散到代码中感觉很糟糕。
是否可以在文档字符串中包含常量的值?
PS:我发现这是远程相关的。尝试的方法也不会生成有效的文档字符串,请注意,它是关于生成动态文档字符串,而 myFOO_CONSTANT预计不会更改。我只是想避免重复自己。该名称FOO_CONSTANT对于文档字符串的读者来说没有任何意义,但该值却具有意义,并且它出现在几个我不想重复的文档字符串中。
我发现这是一个有趣的问题,并决定对其进行研究,但我自己无法想出一个不会传播文档字符串的答案,而这是您想要避免的。[1]
但在研究这个问题的过程中,我发现这些已经回答的问题我希望能够帮助您找到解决方案:
[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".
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
819 次 |
| 最近记录: |