今日内容:
一:匿名函数
二:函数递归与二分法
三:面向过程编程
一:什么是匿名函数
def定义的是有名函数:特点是可以通过名字反复调用
匿名函数就是没有名字的函数:特点是只能在定义时使用一次
强调:
匿名函数的定义就相当于只产生一个变量值,而没有绑定任何名字,
所以会在定义完之后就被回收,无法重复使用,只能在定义时使用一次
应用:当某一个功能仅使用一次就没有在使用的必要时,就应该定义成匿名函数
二:函数递归与二分法
函数的递归调用是函数嵌套调用的一种特殊形式
特殊在调用一个函数的过程中有直接或间接的调用了函数本身
递归本质就是一个循环的过程,但是递归必须满足两个原则:
1:每进入下一层递归,问题的规模必须有所减少
2:递归必须有一个明确的结束条件或者说有一个明确的进入下一层递归的条件
并且递归有两个明确的阶段
1:回溯:一层一层的递归调用下去
2:递推:在某一层结束掉递归,然后一层一层返回
在某些情况下,基于递归来使用重复的过程比while循环更加简单
三:面向过程编程:
面向过程编程:
核心是过程二字,过程指的是解决问题的步骤,即先干什么再干什么后干什么...
基于该思想编写程序脑子里应该始终思考过程二字,就好比在设计一条流水线,是一种
机械式的思维方式
优点:复杂的问题的流程化,进而简单化
缺点:扩展性差