递归与二分法

一递归调用的定义

在函数可调用过程中,直接或间接地调用了函数本身,这就是函数的递归调用

#直接调用本身
# def f1():
#     print('from f1')
#     f1()
# f1()

#间接调用本省
# def f1():
#     print('from f1')
#     f2()
# def f2():
#     print('from f2')
#     f1()
# f1()

#调用函数会产生局部的名称空间,占用内存,因为上述这种调用会无需调用本身,python解释器的内存管理机制为了防止其无线占用内存,对函数的递归调用做了最大的层级限制

import sys
sys.getrecursionlimit()
sys.setrecursionlimit(2000)

def f1(n):
    print('from f1',n)
    f1(n+1)
f1(1)
View Code

 

posted @ 2020-05-10 23:48  逆风飞翔的博客  阅读(35)  评论(0)    收藏  举报