11、Pyhon_返回函数

1、函数作为返回值:

求和函数:

def calc_sum(*args):

    ax = 0

    for n in args:

        ax = ax +n

    return ax

但不想立刻返回,可以这样写:

def lazy_sum(*args):

    def sum():

        ax = 0

        for n in args:

            ax = ax +n

        return ax

    return sum

当调用lazy_sum时,返回的不是结果,而是求和函数。

闭包:

def count():

    def f(j):

        def g():

            return j*j

        return g

    fs = []

    for i in range(1,4):

        fs.append(fi)

    return fs

使用闭包时,返回函数不要引用任何循环变量,或者后续会发生变化的变量。

猜你喜欢

转载自blog.csdn.net/qiangzai110110/article/details/86012961