当需要定义一个功能简单但不经常使用的函数来执行脚本时,就可以使用lambda定义匿名函数,从而省去定义函数的过程。对于一些抽象的、不会在其他地方重复使用的函数,有时候给函数命名也很麻烦(需要避免函数重名),而使用 lambda 语句则不需要考虑函数命名的问题,同时可以避免重复使用的函数,lambda语句中,冒号前是函数参数,若有多个函数须使用逗号分隔;冒号后是返回值。def语句也可以创建一个函数对象,只是使用lambda语句创建的函数对象没有名称,例如:
>>>example = lambda x : x**3
>>>example(2)
对于lambda语句,应该注意如下4点。
(1)lambda定义的是单行函数,如果需要复杂的函数,应使用def语句。
(2)lambda语句可以包含多个参数。
(3)lambda语句有且只有一个返回值。
(4)lambda语句中的表达式不能含有命令,且仅限一条表达式。这是为了避免匿名函数的滥用,过于复杂的匿名函数反而不易于解读
map函数是Python内置的高阶函数,它的基本样式为map(func,list)。其中,func是一个函数,list是一个序列对象。在执行的时候,序列对象中的每个元素,按照从左到右的顺序通过把函数func依次作用在list的每个元素上,得到一个新的list并返回。
注意:map函数不改变原有的list,只是返回一个新的list
fib函数是一个递归函数