在 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中文網其他相關文章!