python学习感悟第6节
本节学习的是函数的非固定参数的问题
首先了解了默认参数
def(x,y=2): #默认参数即采用直接赋值的方式
默认参数有以下几个特点:调用参数的时候,默认参数非必须传递。默认参数的用途有默认安装值。
参数组
由此引出的问题是,当实参数目不固定时,如何定义形参。此时需引入参数组的定义。
#*[1,2,3,4,5]=*args,args=tuple([1,2,3,4,5])
其中*表示一种功能,*args表示接收N个位置参数转换成元组的方式
也可以接收字典
#**kwargs是将N个关键字参数转换成字典的方式
接下来是局部变量的内容:
程序执行的顺序是由上到下的。
递归的三个特点:1、必须有一个明确的约束条件
2、每次进入更深一层递归时,问题规模相比上次递归都应该有所减少
3、递归效率不高
函数式编程
函数编程更接近数学运算,而函数是一种执行过程。
越高级的语言,越贴近计算,抽象程度高,执行效率低。
高阶函数---一个函数接收另一个函数作为参数,这种函数称之为高阶函数。