递归函数,修改全局变量,高阶函数
一个函数调用自己本身,就是递归调用
递归调用的三个条件
1.必须有结束条件
2.规模必须每次减少
3.缺点容易导致栈溢出,所以一般调用层次是999层
def func(n):
print(n)
return func(n+1)
func(1) 999层
def fun(n):
if n >1:
result = n*fun(n-1)
else:
result = 1
return result
s= fun(4)
print(s) n的阶乘
2、修改全局变量
name= 'suqin'
def test1():
name = 'lvhonglei' #局部变量
print(name)
test1()
print(name)
name= 'suqin'
def test1():
global name #声明要修改的全局变量
name = 'lvhonglei'
print(name)
test1()
print(name)
如果全局变量是字典、列表,那么不用global声明,即可修改
3
一个函数接受另外一个函数作为参数,称之为高阶函数
def add(a,b,f): # f 是一个函数
return f(a)+ f(b)
s = add(3,-9,abs)
print(s) 基本工作中用的很少
life is short,i need python