python函数-高阶函数和匿名函数
2017-12-07 13:19
204 查看
函数的参数是函数,或函数的返回结果是函数,则该函数为高阶函数
比如内置的函数sorted就是一个高阶函数,该函数可以接受一个可选的key参数,该key参数提供了一个函数,这个函数会在排序的时候应用到各个元素。下面是根据一个人名的长度由短到长进行排序>>> names = ['jack','mohamode','joe','linda'] >>> sorted(names,key=len) ['joe', 'jack', 'linda', 'mohamode']
利用lambda关键字可以在python表达式内创建匿名函数
因为lambda函数的定义体中不能赋值,导致不能使用一些类似for while if的逻辑语句,所以匿名函数一般用在高阶函数的参数列表中。我们将人名的由长到端进行排序。>>> names = ['jack','mohamode','joe','linda'] >>> sorted(names,key = lambda name:-len(name)) ['mohamode', 'linda', 'jack', 'joe']
其中
lambda name:-len(name)
代表传入一个叫name的参数,返回结果是 -len(name)
我们在使用函数的时候,除了调用我们自己用def,lambda定义函数之外,还大量用到其他内置的函数。要测试该函数是否可以被调用,可以用内置的callable()函数进行测试
>>> abs,str,100,len (<built-in function abs>, 'abcaabcd', 100, <built-in function len>) >>> [callable(fun) for fun in (abs,str,100,len)] [True, False, False, True]
相关文章推荐
- Python进阶:函数式编程(高阶函数,map,reduce,filter,sorted,返回函数,匿名函数,偏函数)...啊啊啊
- python函数基础:嵌套函数、作用域、匿名函数、高阶函数、递归函数
- Python学习 Day 5 高阶函数 map/reduce filter sorter 返回函数 匿名函数 装饰器 偏函数
- Python 函数式编程(高阶函数、把函数作为参数、map()函数、reduce()函数、filter()函数、自定义排序函数、函数返回函数、闭包、匿名函数、装饰器decorator)
- python 函数进阶:参数传递,高阶函数,lambda 匿名函数,global 变量,递归
- Python3 基础:返回函数和匿名函数
- Python笔记- 匿名函数lambda(),过滤函数filter(),求素数,排序sorted
- Python中的高阶函数与匿名函数
- python-3_函数_匿名函数_正则_yield_迭代器_序列化_内置函数_模块
- Learning Python 012 函数式编程 2 返回函数 匿名函数 装饰器 偏函数
- python高级函数-匿名函数lambda
- python之函数的匿名函数【进阶篇】
- Learning Python 012 函数式编程 2 返回函数 匿名函数 装饰器 偏函数
- Python lambda(匿名函数)函数总结
- python(七)高阶函数,匿名函数
- python 把函数作为参数 ---高阶函数
- python函数式编程之匿名函数、装饰器、偏函数
- python的嵌套函数,递归,匿名函数,函数式编程,高阶函数,内置函数
- 2.6 学python 函数3 内置函数 匿名函数 装饰器1
- 13 python装饰器,函数对象以及一些高阶函数如map/reduce,匿名函数,返回函数,偏函数等等