Python 中的匿名函数命名:一种 Pythonic 方法
在 Python 中,lambda 表达式提供了一种便捷的方式来创建匿名函数,从而快速、简洁代码。然而,问题出现了:在函数中命名这些 lambda 是否符合 Python 标准?
根据 PEP8 风格指南,不鼓励将 lambda 表达式直接分配给标识符。这种做法模糊了匿名函数和命名函数之间的区别,使得调试和代码可读性变得更加困难。
何时避免命名 Lambda
根据经验,避免命名如果该功能特定于封闭函数并且代码库中的其他地方不需要,则为 lambda。在这种情况下,lambda 的简单性和简洁性超过了命名它们的需要。
命名 Lambda 的替代品
当功能需要重用或共享时,请考虑以下替代方案:
示例
请考虑以下代码:
def fcn_operating_on_arrays(array0, array1): indexer = lambda a0, a1, idx: a0[idx] + a1[idx] # codecodecode indexed = indexer(array0, array1, indices) # codecodecode in which other arrays are created and require `indexer` return the_answer
改为命名 lambda 表达式索引器时,可以使用单独的函数重写它:
def indexer(a0, a1, idx): return a0[idx] + a1[idx] def fcn_operating_on_arrays(array0, array1): indexed = indexer(array0, array1, indices) # codecodecode in which other arrays are created and require `indexer` return the_answer
以上是您应该在 Python 中命名匿名 Lambda 函数吗?的详细内容。更多信息请关注PHP中文网其他相关文章!