我通常使用"""来使用多行文档字符串来评论我的函数,如下所述: https://www.python.org/dev/peps/pep-0257/
def func1(x):
"""
This function does ...
"""
...
但是评论lambda函数的最佳方法是什么?我在犹豫之间犹豫不决:
# This function does ...
func2 = lambda x: ...
或:
func2 = lambda x: ...
""" This function does ... """
或者?
答案 0 :(得分:7)
tbh,即使将一个lambda分配给一个变量,对我来说也似乎是unpythonic。如果需要名称,请将其定义为常规函数。 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
这样,解释器实际上可以将文档作为函数docstring使用。
直接从pep-8
报价始终使用def语句而不是将lambda表达式直接绑定到标识符的赋值语句。
是:
def f(x): return 2*x
没有
f = lambda x: 2*x