【问题标题】:Docstrings when nothing is returned没有返回任何内容时的文档字符串
【发布时间】:2015-03-03 06:22:01
【问题描述】:

当函数不返回任何内容时,文档字符串的约定是什么?

例如:

def f(x):
    """Prints the element given as input

    Args:
        x: any element
    Returns:
    """
    print "your input is %s" % x
    return

我应该在文档字符串中的Returns: 之后添加什么?没有现在的样子?

【问题讨论】:

    标签: python function return docstring


    【解决方案1】:

    您应该使用None,因为这是您的函数实际返回的内容:

    """Prints the element given as input
    
    Args:
        x: any element
    Returns:
        None
    """
    

    Python 中的所有函数都返回一些东西。如果你没有显式返回一个值,那么它们将默认返回None

    >>> def func():
    ...     return
    ...
    >>> print func()
    None
    >>>
    

    【讨论】:

    • 我不太明白。您的意思是只做return 而不是return None 是否可以?是的,这很好。在这种情况下添加None 是多余的。应该理解为Python函数如果不返回值就返回None
    • 如果你的意思是“如果你没有任何明确的返回语句,完全从你的文档字符串中省略'返回:'是错误的吗?”,我试探性地说“不”。 PEP 257 表示“如果适用”描述返回值,因此您可以争辩说,如果无关紧要,您不必描述它。
    • @keyser - 除了 Kevin 所说的之外,OP 可能会为代码分析工具执行此操作。那,或者他必须遵循他的上级设定的一些惯例(呃。我讨厌那些;)
    • @iCodez 是的,绝对是:p 虽然他们在那里是为了防止争论:p。我的主要好奇心主要是 PEP/人们说/做什么。另外,谢谢凯文
    猜你喜欢
    • 1970-01-01
    • 2021-10-05
    • 2018-07-30
    • 2016-06-23
    • 2018-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-07
    相关资源
    最近更新 更多