函数的递归调用
关于递归调用:
(1) 我们定义一个函数,在函数内部再调用这个函数本身,就是递归调用
(2) 我们不可能一直递归调用下去,因此必须有一个条件,当满足条件时递归结束
例1:使用递归调用来计算阶乘
#!/usr/bin/env python #-*- coding:utf-8 -*- ''' 计算10的阶乘 ''' def factorial(n): if n == 0: return 1 else: return n * factorial(n-1) print factorial(10)
例2:递归打印指定目录下的所有文件
#!/usr/bin/env python #-*- coding:utf-8 -*- ''' 递归打印指定目录下的所有文件 ''' import os def list_all_files(path): for i in os.listdir(path): files = os.path.join(path, i) if os.path.isfile(files): print(files) else: list_all_files(files) list_all_files('/tmp')