如何记录分配的功能,而不是定义的功能?

2024-10-06 11:54:45 发布

您现在位置:Python中文网/ 问答频道 /正文

在Python中使用函数编程时,我发现自己用赋值来声明函数,例如

where = compose(pluck(0), filter(get(1)), enumerate)

而不是使用def例如

def where(seq):
    """Return the indices of truthy values in a sequence."""
    return pluck(0, filter(get(1), enumerate(seq))

第一种方法既优雅又简洁,但是没有docstring,这是不可接受的。第二种方法允许使用docstring,但不太优雅,而且在函数样式上也不太好用

在Python中记录赋值创建的函数的最佳实践是什么?


Tags: 方法函数compose声明getreturndef编程
1条回答
网友
1楼 · 发布于 2024-10-06 11:54:45

有一种方法可以用Python记录这些函数;然而,这样做被认为是不好的做法。尽管def fun似乎不属于函数式风格,但至少在目前看来,这似乎是最佳实践。解决方法如下:

where = compose(pluck(0), filter(get(1)), enumerate)
where.__doc__ = """some docstrings here"""

相关问题 更多 >