函数的递归调用

关于递归调用:

(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')

 

 

 

 

 

    

posted @ 2019-01-13 14:59  孔雀东南飞  阅读(205)  评论(0编辑  收藏  举报