python 进阶小笔记
函数式编程python
python支持的函数式编程编程
不是纯函数式编程:容许有变量api
支持高阶函数:函数也能做为变量传入闭包
支持闭包:有了闭包就能返回函数函数式编程
有限度地支持匿名函数函数
高阶函数:能接受函数作参数的函数spa
变量能够指向函数3d
函数的参数能够接受变量blog
一个函数能够接受另外一个函数做为参数排序
- map()是python内置的高阶函数,它接受一个函数f和一个list,并经过函数f依次做用在list上的每一个元素上,获得一个新的list并返回
- capitalize() 首字母大写,其他所有小写
- reduce()函数也是python内置的一个高阶函数,reduce()函数接受的参数和map()相似,一个函数f,一个list,但行为和map()不一样, reduce()传入的函数f必须接收两个参数,reduce()对list的每一个元素反复调用函数f,并返回最终结果值
- reduce() 还能够接收第3个可选参数,做为计算的初始值。
- filter() 函数是python内置的另外一个有用的高阶函数, filter()函数接收一个函数f和一个list,这个函数f的做用是对每一个元素进行判断,返回true或者false,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list
- s.strip(rm)删除s字符串中开头、结尾处的rm序列的字符,当rm为空时,默认删除空白符
- python内置的sorted()函数可对list进行排序, 可是sorted也是一个高阶函数,它能够接收一个比较函数来实现自定义排序 比较函数的自定义是,传入两个待比较的元素x,y,若是x应该排在y的前面,返回-1,若是x应该排在y的后面,返回1;若是相等,返回0
- sorted函数也能够对字符串进行排序,默认按照ASCII大小来比较
- Python的函数不但能够返回int,str,list,dict等数据类型,还能够返回函数
- python中闭包:内层函数引用了外层函数的变量(参数也算变量),而后返回内层函数的状况,成为闭包 closure
- 闭包的特色是返回的函数还引用了外层函数的局部变量,因此,要争取使用闭包,就要确保引用的局部变量在函数返回后不能变
- 高阶函数能够接收函数作参数,有些时候咱们不须要显示得定义函数,直接传入匿名函数更方便 lambda x:x*x 匿名函数只能有一个表达式,不写return,返回值就是该表达式的结果
- 装饰器
欢迎关注本站公众号,获取更多信息