函数式编程(20160812).md


  1. 函数作为返回值
    1. 高阶函数可以接受函数作为参数,还可以把函数作为返回值
  2. 闭包
    1. 注意到返回的函数在其定义内部引用了局部变量args,所以,当一个函数返回了一个函数后,其内部的局部变量还被新函数引用,所以,闭包用起来简单,实现起来可不容易。
    2. 返回的函数并没有立即执行,直到调用才执行。
    3. 返回闭包时牢记的一点就是:返回函数不要引用任何循环变量,或者后续会发生变化的变量。
    4. 如果一定要引入循环变量:再创建一个函数,用该函数的参数绑定循环变量当前值。
  3. 匿名函数
    1. 关键字lambda表示匿名函数,冒号前的x表示函数参数。
    2. 匿名函数也是一个函数对象,也可以把匿名函数赋值给一个变量,再利用变量来调用。

python
>def build(x,y):
> return lambda: x*x + y*y

  • Python 对匿名函数支持有限。
  • 装饰器
    1. 在代码运行期间动态增加功能,称为“装饰器”(decorator),其本质是 一个返回函数的高阶函数。
  • 偏函数
    1. 偏函数也能降低函数的难度。
    2. 当函数的参数个数太多,需要简化时,使用functools.partial可以创建一个新的函数,这个新函数可以固定住原函数的部分参数,从而在调用时更简单。
  • 發表評論
    所有評論
    還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
    相關文章