day 15递归 匿名函数

三元表达式

  目的是简化书写

  局限性:三元表达式智能简化仅有两个分支的if判断,而且这个判断无论是否成立都必须要返回值

  res = True if age >=18 else False

递归:

  递归指的是递归调用,简单的说就是一个函数在执行过程中直接或者间接 的调用该函数本身

  递归调用本质上就是循环执行代码,与普通循环不同的是,函数调用,会产生一系列内存开销,而循环则没有

递归是要注意的情况

  1,一定要有递归结束条件,不然就会进入死循环

  2.循环调用的次数不能超过系统的限制

  3.每一次执行递归都应该使问题的规模减小

扫描二维码关注公众号,回复: 4957727 查看本文章

  4.python中没有尾递归优化机制

匿名函数:

  特点:没有名字的函数,只能临时使用一次,用完就没有了

匿名函数与有名函数的区别

  参数不需要括号,并且支持所有类型的参数

  名称空间与作用域关系完全相同

  函数体中不能写return,会自动将执行结果返回

  函数体只能有一个表达式且不能换行

内置函数(max,min,sorted,map,filter,reduce)

当默认的比较方式无法满足需求时,可以通过传入一个函数来决定使用什么比较

max(salyary,key=lambda k:salary[k]) #有返回值

min(salary,key=lambad k:salary[k]) #有返回值

sorted(salary,key=lambad k:salary[k]) #

map(映射) filter(过滤)  reduce(合并)

map 用于从一个可迭代对象中取出所有数据,进行一系列操作后,在返回新列表中

filter:用于从一堆数据中过滤一些不满足条件的数据,提供一个函数,要函数的返回值是bool类型,

True表示保留,False就过滤掉

reduce 将列表总的数据进行合并, 每次传两个值n和n+1

猜你喜欢

转载自www.cnblogs.com/MrPotato-Head/p/10284324.html