lambda表达式

"""
lambda表达式的格式:
lambda arg1,arg2,...argn: expression using arguments
lambda表示可以没有参数列表
"""
ff = lambda : 2+2 
print "ff=",ff()

"""
lambda表达式特点:
1、lambda是一个表达式,而不是一个语句,能够出现在def不允许出现
的地方,例如列表常量中或是函数调用的参数中。
2、lambda的主体是一个单个的表达式,而不是一个代码块。
"""

"""
1、使用lambda匿名函数实现函数同样的功能
"""
def func(x,y,z):
    return x+y+z

f = lambda x,y,z: x+y+z

print "result1=",func(1,2,3)
print "result2=",f(1,2,3)

"""
2、lambda表达式中使用默认参数
"""
f1 = lambda a="fee",b="fie",c="foe":a+b+c
"""
输出结果:
weefiefoe
"""
print f1("wee")

"""
3、def中嵌套lambda表达式
"""
def knights():
    title = "sir"
    """
    变量的作用域规则参考嵌套函数作用域
    """
    action = lambda x: title + " " + x
    return action

act = knights()
s =  act("zroad!")
print s

"""
4、lambda的有点:函数速写,常用来编写跳转表
"""
L = [lambda x:x**2,lambda x:x**3,lambda x:x**4]
for f in L:
    print f(2)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值