今天跟大家先初步的探讨下递归和高阶函数
a-关于递归的定义:
在函数内部,可以调用其他函数,如果一个函数在内部又调用自身本身,这函数就是递归操作。
b-了解递的特性:
1:必须有一个明确的结束条件。
2:每次进入更深一层递归时,问题的规模与上一次递归相比,应该有所减少。
3:递归的效率不高,递归层次过多,导致栈溢出。
c-我们直接用例子来演示下递归的具体操作:
def cal(n):
print(n)
if int(n/2) > 0:
return cal(int(n/2))
print(n)
cal(10)
在这个例子中,return语句中调用原函数cal,就是体现了递归思想
同时也有一个明确的结束就是不大于0就不进行递归的调用。
高阶函数:
定义:变量可以指向函数,函数的参数能接收变量,那么 一个函数就可以接收另一个函数作为参数。
我们直接上例子来说明:
def fjh(a,b,f):
return f(a)+f(b)
print('这就是高阶函数的调用')
fsh=fjh(2,-4,abs)
print(fsh)
上述例子中abs具有数学意义中取绝对值的作用,fjh方法中的f变量所代指的就是abs操作,f(a)和f(b)其实
使用了abs的方法,通俗讲就是取绝对值,abs是python内置的方法
好了,今天和大家初步了解并学习了python中用的比较广的递归操作和高阶函数,后续在学习函数这一模块中会用到的,谢谢!