Fw: [翻译] Google 建议的 Python 风格指南 10

楼主: sandwichC ( )   2013-05-05 19:44:30
※ [本文转录自 Python 看板 #1HXaOJ0B ]
作者: sandwichC (没回应=挂站) 看板: Python
标题: [翻译] Google 建议的 Python 风格指南 10
时间: Sun May 5 19:44:15 2013
原文网址:http://google-styleguide.googlecode.com/svn/trunk/pyguide.html
* Lambda Functions
一行就结束的程式可用 lambda 函式。
释义:
lambda 定义匿名函式,使用 expression 而非 statement (编案:expression 指
由常数或变量、运算子等形成的组合,如:range(5), 2 * math.pi * r, 1 + 1
等;statement 则指任何可成为一行或多行的程式片段,如:li = range(5),
circum = 2 * math.pi * r, a = 1 + 1 等)。lambda 函式通常用来替 map() 或
filter() 等高阶函式定义 call back 函式或操作运算。
优点:
方便。
缺点:
相较于区域函式,lambda 函式较难阅读及除错。因为匿名,所以 stack trace 时
更难理解。可表达的能力有限,因为 lambda 函式通常只包含一个 expression。
决策:
单行能完成的函式可以使用 lambda 函式。若 lambda 函式内的程式码大于 60-80
个字符,最好使用一般的函式或嵌套函式。
若是常用的运算,如:乘法,在 operator module 中很可能有现成的函式可用,
尽量使用这些函式来取代 lambda 函式。如:使用 operator.mul 来取代
lambda x, y: x * y。

Links booklink

Contact Us: admin [ a t ] ucptt.com