递归函数:如果一个函数在内部不调用其他函数,而是自己本身的话,这个函数就是递归函数
递归函数:如果一个函数在内部不调用其他函数,而是自己本身的话,这个函数就是递归函数
递归函数
递归函数:如果一个函数在内部不调用其他函数,而是调用自己本身的话,这个函数就是递归函数
求阶乘:
5! = 5*4*3*2*1
def factorial(n):
if n == 1
return 1
return n * factorial(n-1)
递归函数的条件:递归函数必须有一个结束条件,否则递归无法结束,会一直递归下去,直到到达最大递归深度报错。
优点:逻辑清晰简单,定义简单
缺点:容易导致栈溢出,内存资源紧张,内存泄漏;
案例:模拟实现树形结构的遍历
import os #引入文件操作模块
def findFile(file_Path):
listRs=os.listdir(file_path)#得到该路径下的所有文件夹
for fileItem in listRs:
full_path=os.path.join(file_Path, fileItem) #获取完成的文件路径
if os.path.isdir(full_path)# 判断是否是文件夹
file_Path(full_path)#如果是一个文件夹 在次去递归
else:
print(fileItem)
pass
pass
else:
return
pass