python07 函数式编程

  • 1.作用域

1.1  pass关键字表示,暂时不写该方法

1.2表示返回值为方法

输出结果333

1.3函数作用域:和函数调用没关系,和声明的位置有关系,

结果为444

  • 2.匿名函数

lanmbda 关键字   

形式:冒号后必须为返回值

优点:方便,

缺点:逻辑结构无法太复杂

  • 3函数式编程

3.1三种编程思想

面向过程:基本单位为函数,找到解决问题的入口,按照固定的流程去模拟解决问题的流程,违反了开放封闭原则,

面向对象:

函数式编程:编程语言函数+数学定义的函数.   可读性差

 

3.2.

①不定义变量,不修改变量

②把函数当作参数传给另一个函数或者返回值中包含函数,被称为高阶函数

③尾调用优化,如果不是尾调用,递归时就会效率很低,调用栈,占内存,记录当前层状态,如果在结尾处调用,就会节约内存

         尾调用:函数最后一步调用别的方法

  • 4 map函数

 

对数组中每个元素进行相同的操作,返回的是可迭代对象

处理序列中的每个元素,得到的结果为可迭代对象,元素个数与位置不变

  •  5 filter函数

 

第一个函数为自定义函数(返回值为布尔),第二个参数为可迭代对象   过滤掉布尔值为false的数组元素

过滤不和规定的数组元素,如果是true则留下来

  • 6.reduce函数

第一个参数为函数,第二个为可迭代对象,第三个为初始值,需要先引入reduce工具

 处理一个序列,然后进行合并操作

猜你喜欢

转载自www.cnblogs.com/MrYangjlPython/p/10035731.html