Python笔记(五):变量、递归与高阶函数


递归

递归:在函数内部,可以调用其他函数。
如果函数在内部调用自身本身,则这个函数就是递归函数;

递归特性
- 1、必须有明确结束条件
- 2、最大递归999层
- 3、每次进入更深递归时,问题规模应比上次递归少
- 4、递归效率不高,递归层次过多会导致栈溢出

#递归
def calc(n)
    print(n)
    return calc(n+1)
calc(0)

························

#通过递归,使一个数一直除以2,直到不能除为止
def calc(n)
    print(n)
    if int(n/2) > 0:
        return calc(int(n/2))
    print("---->",n)
>> 10
>> 5
>> 2
>> 1
>> ----> 1

局部变量与全局变量

注:不要在函数内修改全局变量;
更不要在函数内定义全局变量!!!

当全局变量与局部变量重名时,子程序内局部变量起作用,其他地方全局变量起作用

高阶函数

一个函数可以接受另一个函数作为变量,则该函数称为高阶函数

def add(a,b,f):
    return f(a)+f(b) 
res = add(3,-6,abs)       #       abs(-5) = 5
print(res)

>> 9

猜你喜欢

转载自blog.csdn.net/weixin_42026630/article/details/80375329