首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docstring是变量还是函数?

Docstring是变量还是函数?
EN

Stack Overflow用户
提问于 2020-03-04 00:18:14
回答 1查看 33关注 0票数 2

我已经开始了一个小项目,开发了一些使用sklearn操作的方便类。

由于使用了sklearn父类,它们中的大多数都很短,但我最终得到了巨大的Docstring,每当我试图进行小更改或检查类时,它都会降低可读性。

有没有什么正式的方法可以在不“欺骗”?和不在类中使用多行注释的情况下保留Docstring的属性(即可用于help()__doc__或Python )?

到目前为止,我得到的唯一方法是:

代码语言:javascript
复制
doc_foo = """foo docstring"""
doc_bar = """bar docstring"""

class foo(object):

    __doc__ = doc_foo

    def __init__(self):
        pass

    def bar(self):
        pass

但是,这只适用于类,而不适用于方法或函数。

EN

回答 1

Stack Overflow用户

发布于 2020-03-04 04:45:54

您可以在定义函数后设置该函数的docstring。

代码语言:javascript
复制
def bar(self):
    pass

bar.__doc__ = doc_bar

你可以通过一个装饰器来实现这一点:

代码语言:javascript
复制
def set_doc(docstr):
    def _(f):
        f.__doc__ = docstr
        return f
    return _


@set_doc(doc_bar)
def bar(self):
    pass
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60515188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档