python07 函数式编程

时间:2024-12-08 20:36:32
  • 1.作用域

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

1.2表示返回值为方法

python07 函数式编程python07 函数式编程输出结果333

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

python07 函数式编程结果为444

  • 2.匿名函数

lanmbda 关键字   python07 函数式编程python07 函数式编程

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

优点:方便,

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

python07 函数式编程

  • 3函数式编程

3.1三种编程思想

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

面向对象:

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

python07 函数式编程

python07 函数式编程

3.2.

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

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

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

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

  • 4 map函数

python07 函数式编程python07 函数式编程

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

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

  • 5 filter函数

python07 函数式编程python07 函数式编程

python07 函数式编程

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

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

  • 6.reduce函数

python07 函数式编程python07 函数式编程

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

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