
三元表达式
目的是简化书写
局限性:三元表达式智能简化仅有两个分支的if判断,而且这个判断无论是否成立都必须要返回值
res = True if age >=18 else False
递归:
递归指的是递归调用,简单的说就是一个函数在执行过程中直接或者间接 的调用该函数本身
递归调用本质上就是循环执行代码,与普通循环不同的是,函数调用,会产生一系列内存开销,而循环则没有
递归是要注意的情况
1,一定要有递归结束条件,不然就会进入死循环
2.循环调用的次数不能超过系统的限制
3.每一次执行递归都应该使问题的规模减小
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