匿名函数、内置函数

目录:

  1. 匿名函数
  2. 内置函数

一、匿名函数:

匿名就是没有名字
def func(x,y,z=1):
    return x+y+z

匿名
lambda x,y,z=1:x+y+z #与函数有相同的作用域,但是匿名意味着引用计数为0,使用一次就释放,除非让其有名字
func=lambda x,y,z=1:x+y+z 
func(1,2,3)
#让其有名字就没有意义
#有名函数与匿名函数的对比
有名函数:循环使用,保存了名字,通过名字就可以重复引用函数功能

匿名函数:一次性使用,随时随时定义

应用:max,min,sorted,map,reduce,filter
salaries={
    'ni':300,
    'hao':10000,
    'ma':1000,
    'world':200
}

print(max(salaries, key=lambda k:salaries[k]))
print(min(salaries, key=lambda k:salaries[k]))
print(sorted(salaries, key=lambda k:salaries[k]))
print(sorted(salaries, key=lambda k:salaries[k], reverse=True))
names = ['a','b','c','d']
res = map(lambda x:x+'_sb', names) # res = (name+'_sb' for name in names)
print(list(res))

names = ['a_sb','b','c_sb','d']
res = filter(lambda x:x.endswith('sb'), names)  # res = (name for name in names if name.endswith('sb'))
print(list(res))

 

二、内置函数:

 

 

 

 

posted @ 2018-05-18 09:42  黑貓警長  阅读(95)  评论(0编辑  收藏  举报
Life is short, you need Python