函数基础

匿名函数

  • 一次性的函数没有名字
  • 一般把他当做一个参数传给另一个函数
  • lamda x,y:x/y #语法:lambda 参数 : 表达式
def sub_func(a,b,func)
	 print('a=',a)
	 print('b=',b)
	 print('a-b=',func(a,b))
sub_func(100,1,lambda a,b:a-b)
运行结果:
a=100
b=1
a-b=99

上面的代码中,sub_func 中需要传入一个函数,然后这个函数在sub_func里执行, 请注意这个匿名函数也需要传入两个参数

匿名函数与Python内置函数的配合使用
member_list = [
    {"name": "风清扬", "age": 99, "power": 10000},
    {"name": "无崖子", "age": 89, "power": 9000},
    {"name": "王重阳", "age": 120, "power": 8000}
]
new_list=sorted(member_list,key=lambda dict_:dict_['power'])
print(new_list)
**sorted语法**
第一个参数为可迭代对象
key 是用来比较的元素

number_list = [100, 77, 69, 31, 44, 56]
num_sum = list(map(lambda x: {str(x): x}, number_list))
print(num_sum)

map函数是Python中来做映射的一个内置函数 接收两个函数第一个参数是一个函数,第二个参数是可迭代对象 map会遍历可迭代对象的值.然后依次将值传递给函数执行,我们使用匿名函数lambda 来实现map中单函数参数

匿名函数作为函数的返回值

def run_func(a, b):
    return lambda c: a + b + c
 
 
return_func = run_func(1, 10000)
print(return_func)
print(return_func(100))

注意 其中的a,b两个参数是run_func中的参数,但我们执行返回的函数return_func时,已经不在run_func的作用域内了,而lambda函数仍然能使用a,b参数。说明lambda函数会将它的运行环境保存一份,一直保留到它自己执行的时候使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值