• python 返回函数的使用


    返回函数

    高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回。

    一个求和函数

    def a_sum(*args):
        ax = 0
        for n in args:
            ax = ax + n
        return ax

    但是,如果不需要立刻求和,而是在后面的代码中,根据需要再计算怎么办?可以不返回求和的结果,而是返回求和的函数:


    def a_sum(*args):
        def sum():
            ax = 0
            for n in args:
                ax = ax + n
            return ax
        return sum
    
    f = a_sum(1,3,4,4,5,5)
    print(f)
    print("**************************")
    print(f())

    结果的输出

    <function a_sum.<locals>.sum at 0x0000019C5F614510>
    **************************
    22

    调用a_sum()时,返回的并不是求和结果,

    在函数a_sum中又定义了函数sum,并且,内部函数sum可以引用外部函数a_sum的参数和局部变量,a_sum返回函数sum时,相关参数和变量都保存在返回的函数中,这种称为“闭包“(Closure)

    从csdn搬家过来的可能没有图片,原地址https://blog.csdn.net/weixin_38091140
  • 相关阅读:
    UV动画
    使用RampTexture实现BRDF效果
    使用RampTexture来控制diffuse shading
    Half Lambert
    Lamber算法 & SurfaceShader自定义光照
    What is _MainTex_ST ?
    C# Enum,Int,String的互相转换
    Plugins in Unity
    Mono在Full AOT模式下的限制
    雾化
  • 原文地址:https://www.cnblogs.com/Apy-0816/p/11100293.html
Copyright © 2020-2023  润新知