字符串处理文档字符串
问题描述:
我一直在努力做到以下几点:字符串处理文档字符串
#[...]
def __history_dependent_simulate(self, node, iterations=1,
*args, **kwargs):
"""
For history-dependent simulations only:
""" + self.simulate.__doc___
我想在这里完成是有作为的方法simulate
的文档这种私有方法相同的文档,除非简短的介绍。这样可以避免复制粘贴,保留较短的文件,而不必每次都更新两个函数的文档。
但它不起作用。有谁知道一个原因,或者是否有解决方案?
答
更好的解决方案可能是使用一个装饰,如:
def add_docs_for(other_func):
def dec(func):
func.__doc__ = other_func.__doc__ + "\n\n" + func.__doc__
return func
return dec
def foo():
"""documentation for foo"""
pass
@add_docs_for(foo)
def bar():
"""additional notes for bar"""
pass
help(bar) # --> "documentation for foo // additional notes for bar"
这样,你可以做文档字符串的任意操作。
答
我觉得this section使得它非常清楚:
什么是文档字符串?
文档字符串文字的字符串 发生如在 模块,函数,类,或方法 定义的第一个语句。这样的文档字符串变为 对象的特殊属性doc。
所以,它不是评价为一个字符串表达式,它是一个字符串字面。
任意的操作意味着你可以在文档字符串中看到“为DOCUM> foo 2009-10-06 01:56:31