递归就是在函数中调用函数本身。
例:
def func():
print('hello')
func()
func()
- 在python中递归的深度最大是998
def func(n):
print(n)
n +=1
func(n)
func()
- 递归的应用:
- 我们可以通过递归来遍历各种树形结构,比如文件夹系统,可以使用递归来遍历文件夹中的所以文件
import os
def read(filepath, n):
files = os.listdir(filepath) #获取filepath下的所有文件名
for f_name in files:
filePath = os.path.join(filepath, f_name) #拼接所有文件的路径
if os.path.isdir(filePath): #判断当前的路径是否是文件夹,如果是则打印文件夹名称后再调用本函数进行再次判断
print('\t' * n,f_name )
read(filePath,n+1)
else: #如果当前的路径不是文件夹,则直接打印文件的名称
print('\t'*n,f_name )
read('D:\\test',0)