Python学习(三)

函数式编程

  • 特点:
    • 不是纯函数的编程,允许有变量
    • 支持高阶函数:函数可作为变量传入
    • 支持闭包:可以返回函数

高阶函数

  • 内置函数:
    • map(function f, list l):将f作用在l的每个元素上,并返回一个新的list
    • reduce(function f, list l):对l中每个元素反复使用f,最后返回一个结果
    • filter(function f, list l):f是对l中每个元素进行判断,去掉不符合的元素,剩余元素返回一个新的list
    • sorted(function f, list l):f中定义排序的规则,对l中元素进行按照f的规则排序

闭包:内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)。

  • 特点:内层函数使用外层的局部变量,要保证局部变量不变

匿名函数

  • 关键字lambda 表示匿名函数,冒号前面的 x 表示函数参数。
  • 匿名函数限制,就是只能有一个表达式,不写return,返回值就是该表达式的结果。

装饰函数(高阶函数):使用 decorator 用Python提供的 @ 语法,这样可以避免手动编写 f = decorate(f),使用decrator之后会改造函数的一些属性,为了防止函数的属性修改,所以在用decrator时,利用@functools.wraps(f)将函数的属性都复制过去,这句话放在最里层的高阶函数的上面。

偏函数

  • functools.partial可以把一个参数多的函数变成一个参数少的新函数,少的参数需要在创建时指定默认值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值