在 Python 中命名 Lambda
Python 中 lambda 表达式的使用为定义匿名函数提供了一种简洁的语法。然而,一些开发人员可能会遇到命名 lambda 是否合适的问题,特别是在较大的函数中。
根据 Python 编码标准 PEP8,不鼓励命名 lambda。基本原理是 lambda 是匿名的,允许它们嵌入到表达式中。为 lambda 指定名称会破坏此目的,因为它变成了命名函数。
在提供的示例中,作者创建了一个名为 indexer 的命名 lambda 来对 numpy 数组执行复杂的索引。虽然这种方法减少了代码重复,但由于命名方面的原因,它不被视为 Pythonic。
相反,当封闭函数之外不需要 lambda 提供的功能时,建议定义一个单独的函数。这样可以实现更清晰的结构,提高可读性,并与 PEP8 准则保持一致。
示例:
def fcn_operating_on_arrays(array0, array1): def indexer(a0, a1, idx): return a0[idx] + a1[idx] # Code using `indexer` return the_answer
通过将索引功能分离到命名函数中,代码变得更加模块化并遵循 Pythonic 最佳实践。
以上是我应该为我的 Python Lambda 命名吗?的详细内容。更多信息请关注PHP中文网其他相关文章!