目录
* 有名函数(掌握) <https://www.cnblogs.com/nickchen121/p/10793551.html#有名函数掌握>
* 匿名函数(掌握) <https://www.cnblogs.com/nickchen121/p/10793551.html#匿名函数掌握>
* 与内置函数联用(掌握) <https://www.cnblogs.com/nickchen121/p/10793551.html#与内置函数联用掌握>
有名函数(掌握)
我们之前定的函数都是有名函数,它是基于函数名使用。
def func(): print('from func') func() func() func() print(func) from func from
func from func <function func at 0x108e32400>
匿名函数(掌握)
匿名函数,他没有绑定名字,使用一次即被收回,加括号既可以运行。
lambda x, y: x+y <function __main__.<lambda>(x, y)> res = (lambda x, y:
x+y)(1, 2) print(res) 3
与内置函数联用(掌握)
匿名函数通常与max()、min()、filter()、sorted()方法联用。
salary_dict = { 'nick': 3000, 'jason': 100000, 'tank': 5000, 'sean': 2000 }
1.如果我们想从上述字典中取出薪资最高的人,我们可以使用max()方法,但是max()默认比较的是字典的key。
* 首先将可迭代对象变成迭代器对象
* res=next(迭代器对象),将res当做参数传给key指定的函数,然后将该函数的返回值当做判断依据 salary_dict = { 'nick':
3000, 'jason': 100000, 'tank': 5000, 'sean': 2000 } print(f"max(salary_dict):
{max(salary_dict)}") def func(k): return salary_dict[k]
print(f"max(salary_dict, key=func()): {max(salary_dict, key=func)}") # 'nick',
v1 = func('nick') # 'jason', v2 = func('jason') # 'tank', v3 = func('tank') #
'sean', v4 = func('sean') print( f"max(salary_dict, key=lambda name:
salary_dict[name]): {max(salary_dict, key=lambda name: salary_dict[name])}")
max(salary_dict): tank max(salary_dict, key=func()): jason max(salary_dict,
key=lambda name: salary_dict[name]): jason
2.如果我们想从上述字典中取出薪资最低的人,我们可以使用min()方法,但是min()默认比较的是字典的key。
热门工具 换一换