【问题标题】:Python make class function print the docstring of the function it callsPython使类函数打印它调用的函数的文档字符串
【发布时间】:2020-06-05 13:51:14
【问题描述】:

当调用help(my_classfunction) 时,是否有一种简单的方法可以让类方法返回我在不同模块中编写的函数的文档字符串?

【问题讨论】:

  • 你能给出一个示例代码你正在尝试做什么或预期的行为应该是什么?
  • 文档字符串可通过my_classfunction.__doc__ 获得。 help 主要格式化文档字符串(对于诸如类之类的东西,也收集相关的文档字符串)。
  • @Christian 我编写了一个模块,其中包含将使用类方法访问的函数。我这样写是因为模块应该是可移植的。在这种情况下,我有一个类,其中模块中的函数具有功能并由类方法调用(它们只是模块的接口)。但是,最终用户应该只与类交互,所以我希望用户能够执行 help(my_classfunction) 或 my_classfunction.__doc__ 并实际获取模块中函数的文档字符串,而不是类方法。这是否解释得更好一点?
  • @chepner 是的,我知道这一点。天真地,我尝试将以下内容放入类方法中,但没有奏效:my_classfunction.__doc__ = my_module.my_function.__doc__ 导入模块后

标签: python oop docstring


【解决方案1】:

深入挖掘后,我发现this related question 解决了我的问题。结果我在设置类方法的文档字符串时必须使用__func__self.my_classmethod.__func__.__doc__ = my_module.my_function.__doc__ 将类方法的文档字符串设置为它调用的函数的文档字符串。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-03
    • 1970-01-01
    • 1970-01-01
    • 2013-08-11
    相关资源
    最近更新 更多