在 python 中为 lambda 函数编写文档字符串的最佳方法是什么?

2024-03-23

我通常使用带有“””的多行文档字符串来注释我的函数,如下所述:https://www.python.org/dev/peps/pep-0257/ https://www.python.org/dev/peps/pep-0257/

def func1(x):
  """
  This function does ...
  """
  ...

但是注释 lambda 函数的最佳方式是什么?我在以下之间犹豫:

# This function does ...
func2 = lambda x: ...

or :

func2 = lambda x: ...
""" This function does ... """

要不然 ?


老实说,即使将 lambda 分配给变量对我来说似乎也很不Python。如果需要名称,请将其定义为常规函数。 lambda 函数和常规函数之间的区别在于后者有一个__name__属性和显式返回语句。

如果必须向 lambda 添加文档字符串,请按如下所示操作:

f = lambda x: x + 1
f.__doc__ = """adds 1 to input-arg"""

help(f) 
# outputs the following:
help(f)
Help on function <lambda> in module __main__:

<lambda> lambda x
    adds 1 to arg

这样,解释器实际上可以将文档作为函数文档字符串使用。

直接引用自pep-8 https://www.python.org/dev/peps/pep-0008/#programming-recommendations

始终使用 def 语句而不是将 lambda 表达式直接绑定到标识符的赋值语句。

Yes:

def f(x): return 2*x

No:

f = lambda x: 2*x
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 python 中为 lambda 函数编写文档字符串的最佳方法是什么? 的相关文章

随机推荐