美文网首页程序员python 高级码农成才之路
*禁白嫖*python----递归函数匿名函数

*禁白嫖*python----递归函数匿名函数

作者: 幼姿沫 | 来源:发表于2021-01-26 15:47 被阅读0次

    常理推断,特别是解释型语言,当程序执行函数内部的语句时,

    这个函数还没有定义完,没定义完怎么可以调用本身呢。

    但实质上,当你执行函数内部的语句时,

    一定有函数外部的语句调用了这个函数,

    此时该函数的所有代码和语句,已经在内存中形成了逻辑,

    这就是递归函数的原理。

    首先将一个既定规则进行数学函数定义 之后直接进行函数调用即可

    函数嵌套是调用其他函数 但是递归函数是调用自身函数 即数学函数定义


    #函数规则 阶乘的规律 n! = n × (n-1)!

    def sumAll(num):

        if num>=1:

            result=num * sumAll(num-1)

        else:

            result=1

        return result

    ret=sumAll(10)

    print(ret)


    #f(n) = (f(n-1) + 1)*2 在函数外部定义的规则直接进行自身调用即可

    def f(n):

        if n==1:

            return 1

        else:

            return (f(n-1)+1)*2

    print(f(10))


    #分解质因数 分解到不能分解的数字 定义函数名称为defactor 用来返回N的所有因子

    def defactor(N):

        for iin range(2,N):

    #从2开始尝试 如果试到i是N的因子则返回i的所有因子和N/i的所有因子的列表

            if N % i ==0:

                return defactor(i)+defactor(int(N/i))

    else:

    #如果没有试到就说明N是一个质数,就直接包含他的列表

            return [N]

    print(defactor(980))

    匿名函数

    #普通函数求多个数值的和

    def sum(a,b,c,d):

        return a+b+c+d

    print(sum(1,2,3,4))

    '''

    lambda函数求多个数值的和

    lambda表达式冒号前面本身是函数参数

    冒号后面是接收表达式即为返回值

    '''

    a=lambda a,b,c,d:a+b+c+d

    print(a(1,2,3,4))

    匿名函数 lambda 得益于省略了定义def函数的步骤

    sum=lambda a,b : a+b

    print(sum(10,20))

    #匿名函数可以接收任意数量的参数只能返回一个表达式的值

    #匿名函数不能直接调用print 因为lambda需要一个表达式

    函数作为参数进行传递

    def fun(a,b,opt):

        print(a,b,opt(a,b))

    fun(1,2,lambda x,y:x+y)

    #无参匿名函数

    def ttt():

        return True

    print(ttt())

    a=lambda:True

    print(a())

    #首先用split将字符串转化为列表 然后用''.join()进行分隔开

    s='this is \n a \t test'

    print(' '.join(s.split()))

    #匿名函数来处理有空格的字符串

    s1=lambda s:' '.join(s.split())

    print(s1('this is \n a \t test'))

    #有参数的匿名函数

    def sum(a,b,c):

    print(a+b+c)

    sum(1,2,3)

    aa=lambda a,b,c:a+b+c

    print(aa(1,2,3))

    禁白嫖的含义就是

     尊重我的劳动成果  点赞 打赏 转发 谢谢您各位捧场

    相关文章

      网友评论

        本文标题:*禁白嫖*python----递归函数匿名函数

        本文链接:https://www.haomeiwen.com/subject/cxnizktx.html