【问题标题】:Documenting a duck-typed parameter in numpydoc在 numpydoc 中记录鸭子类型的参数
【发布时间】:2014-01-23 18:16:13
【问题描述】:

根据guide to numpy/scipy documentation 中的约定,函数参数应按以下方式记录:

def foo(x):
    """" This function does nothing

    Parameters
    ----------
    x : type
       Description of parameter `x`.
    """"
    pass

如果 type 是一个独特的类型,例如 intstr,这很简单。

现在我希望参数是 BaseClass 的实例或任何公开相同接口的对象(例如从 BaseClass 派生的类)。是否有一个约定如何简明扼要地记录参数 x 应该公开某个接口(通过派生或鸭子类型)?

【问题讨论】:

  • 也许是“类基类对象”,类似于“类文件对象”? NumPy 对数组或可转换为数组的对象大量使用“类数组”,但这略有不同;列表列表不暴露数组的接口。
  • 这就是我目前的做法。但是,我对这种方法并不完全满意,因为类类感觉相当模糊。

标签: python python-sphinx duck-typing numpydoc


【解决方案1】:

您描述的方法几乎是标准方法。

另一种方法是使用抽象基类来定义必须实现的特定方法,然后将其指定为an answer to a related question 建议的类型。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-18
    • 1970-01-01
    • 2015-05-21
    • 1970-01-01
    相关资源
    最近更新 更多