python闭包 closure

闭包定义:

 闭包是指引用了此函数外部的变量的函数

说明 

在本质上,闭包是将内部嵌套函数和函数外部的执行环境绑定在一起的对象 

闭包必须满足三个条件

1. 必须有一个内嵌函数
2. 内嵌函数必须引用外部函数中的变量
3. 外部函数返回值必须是内嵌函数 

 示例:

# 闭包示例:
def make_power(y):
    def fn(arg):
        return arg ** y
    return fn

# 求5的平方
pow2 = make_power(2) 
print('5的平方是:', pow2(5))

# 求1**2 + 2 ** 2 + 3 ** 2 + .... 100 ** 2
print(sum(map(lambda x: x ** 2, range(1, 101))))
print(sum(map(make_power(2), range(1, 101))))

# print("1 ** 3 + 2**3 + ...... + 100 ** 3=")
print(sum(map(lambda x: x ** 3, range(1, 101))))
print(sum(map(make_power(3), range(1, 101))))

猜你喜欢

转载自blog.csdn.net/py_1995/article/details/83994143