python lambda

       很多语言都提供有lambda语法特性,包括C#,PHP,Python,Scala,Java 1.8也开始支持这特性,C++11也不甘示弱,可见lambda有多酷。lambda实际上就一匿名函数指针,它可以包括表达式和语句。各种语言lambda语法格式差异比较大,下面看看Python lambda书写形式。

#coding=gbk

#测试 lambda表达式
def test_lambda():
    f = lambda x,y,z:x+y+z	      #f类似于函数指针:<function <lambda> at 0x016B3730>
    print f(1,34,4)		      #x=1,y=34,z=4
    
    val = reduce(lambda x,y:x*y,range(1,10))	#1*2*3*...*9,reduce函数表x*y值作为下一次运算的x
    print val
    
    b = lambda x:lambda y:x+y
    c = b(2)  		#lambda嵌套,此时返回的只是一个函数:<function <lambda> at 0x016B3770>
    print c(3)   	#调用函数,结果为5

猜你喜欢

转载自tcspecial.iteye.com/blog/2199653