如何记录python函数参数类型?

新手上路,请多包涵

我知道参数可以是任何对象,但对于文档而言,指定您期望的内容非常重要。

首先是如何指定如下所示的参数类型?

  • str (或使用 Stringstring ?)
  • int
  • list
  • dict
  • 功能()
  • tuple
  • 类的对象实例 MyClass

其次,如何指定可以是多种类型的参数,例如可以处理单个参数的函数,而不是 intstr

请使用以下示例来演示使用您建议的解决方案记录此内容所需的语法。请注意,希望能够从文档内部超链接引用到“图像”类。

 def myMethod(self, name, image):
    """
    Does something ...

    name String: name of the image
    image Image: instance of Image Class or a string indicating the filename.

    Return True if operation succeeded or False.
    """
    return True

请注意,欢迎您建议使用任何文档工具(sphinx、oxygen 等),只要它能够满足要求即可。

更新:

总的来说,它似乎支持在 doxygen 中记录参数类型。下面的代码有效,但在参数名称中添加了一个烦人的 $ (因为它最初是为 php 制作的)。

     @param str $arg description
    @param str|int $arg description

原文由 sorin 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 593
1 个回答

有一个更好的办法。我们用

def my_method(x, y):
    """
    my_method description

    @type x: int
    @param x: An integer

    @type y: int|string
    @param y: An integer or string

    @rtype: string
    @return: Returns a sentence with your variables in it
    """

    return "Hello World! %s, %s" % (x,y)

就是这样。在 PyCharm IDE 中,这很有帮助。它就像一个魅力;-)

原文由 Tony Melony 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题