上QQ阅读APP看书,第一时间看更新
1.5.1 函数作为参数
函数的参数既可以是数值,也可以是Python自带或自定义的函数。在如下的FuncAsParam.py案例中,我们将演示函数作为参数传入的做法。
01 def add(x,y,func): 02 return func(x) + func(y) 03 print(add(2,-1,abs)) # 3 04 def square(x): 05 return x*x 06 print(add(3,4,square)) # 25
在第1行定义的add方法里,它的第3个参数func是一个函数。在第2行的主体代码里,返回经过func函数处理过的和。
在第3行调用add函数时,我们传入了求绝对值的abs函数,所以它的返回值是abs(2)+abs(-1),结果是3。除了可以传入Python自带的函数外,我们还可以传入自定义的函数。比如在第6行,我们传入的是第4行定义的求平方的square函数,所以该方法的返回值是3的平方加4的平方,也就是说结果是25。