1.高阶函数:
(1)函数名可以进行赋值
def f(*args):
print(args)
# f([1,2,3]) #([1, 2, 3],)
f(*[1,2,3]) #(1, 2, 3)
或:
def ft(**kwargs):
print(kwargs)
#ft(info={'name':'eric'})
ft(**{'name':'eric'})
(2)函数名可以作为函数参数,还可以作为函数的返回值
def f(n):
return n*n
print(f(2))
def foo(a,b,f):
return f(a)+f(b)
print(foo(1,2,f))
与下面一样:
def f(n):
return n*n
print(f(2))
def foo(a,b,func):
rel = func(a)+func(b)
return rel
print(foo(1,2,f))
def f():
def ft():
return 4
return ft()
print(f())
2.递归函数
#阶乘
def fat(n):
ret=1
for i in range(1,n+1):
ret = ret*i
return ret
print(fat(5))
#递归函数
def fact(n):
if n==1:
return 1
return n*fact(n-1)
print(fact(5))
关于递归特点:
1.自己调用自身函数
2.有一个结束条件
但凡是递归可以写的程序循环都可以解决
递归的效率在很多时候很低
3.斐波那契序列
def fibo(n):
# before_a=0
# after_b=1
# if n <= 1 :
# return n
if n==1 or n==0 :
return n
return fibo(n-1)+fibo(n-2)
print(fibo(8))
4.内置函数
用help(int)这种格式查找,或百度查找
高阶函数和递归函数
最新推荐文章于 2023-07-18 22:10:13 发布