我如何用Sphinx记录一个以函数为参数的函数?

How can I document a function which takes a function as a parameter with Sphinx?(我如何用Sphinx记录一个以函数为参数的函数?)
本文介绍了我如何用Sphinx记录一个以函数为参数的函数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设我有一个如下所示的类:

class FunctionCaller:
    def __init__(self):
        """A class which can be used to call different functions which take the same
        parameters

        """
        self.f = lambda a,b: (a,b)

    def setF(self, new_f):
        """Set the function to call

        :param new_f: The new function this object should call
        :type new_f: func(:class:`.SomeClass`, :class:`int`)
        """
        self.f = new_f

    def callF(self, a, b):
        """Call the function this object currently contains

        :param a: Some value
        :param b: Some other value
        """
        return self.f(a,b)

class SomeClass:
    """Some class which does nothing
    """
    pass
例如(忽略这可能是糟糕的编码风格),让我们假设FunctionCaller将要调用的函数期望将SomeClass作为其第一个参数,并将一个int作为其第二个参数。我希望文档显示指向这两件事的链接。我在示例中定义它的方式可以工作,但看起来不是很好。

有什么方法可以使用:type:说明符来指示参数是函数吗?

推荐答案

有什么方法可以使用:type:说明符来指示参数是函数吗?

我想您可以指定types.FunctionType作为类型。但我建议你解释一下它是如何工作的:

def setF(self, new_f):
     """Set the function to call

     :param new_f: The new function this object should call.

     The new function takes two positional parameters: the first of
     type :class:`.SomeClass` and the second of type :class:`int`.
     """
     self.f = new_f

这篇关于我如何用Sphinx记录一个以函数为参数的函数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Leetcode 234: Palindrome LinkedList(Leetcode 234:回文链接列表)
How do I read an Excel file directly from Dropbox#39;s API using pandas.read_excel()?(如何使用PANDAS.READ_EXCEL()直接从Dropbox的API读取Excel文件?)
subprocess.Popen tries to write to nonexistent pipe(子进程。打开尝试写入不存在的管道)
I want to realize Popen-code from Windows to Linux:(我想实现从Windows到Linux的POpen-code:)
Reading stdout from a subprocess in real time(实时读取子进程中的标准输出)
How to call type safely on a random file in Python?(如何在Python中安全地调用随机文件上的类型?)