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,返回值就是该表达式的结果
  • 装饰器
相关文章
相关标签/搜索