高阶函数和递归函数

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)这种格式查找,或百度查找
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值