python 函数的闭包

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/myq151/article/details/82291057

闭包的结构:
1.外部函数:外部函数返回内部函数的引用
2.内部函数:内部函数使用了外部函数的参数或者变量
把这种结构的整体称为闭包

闭包与普通函数的区别:
1.普通函数能保存功能,但是不能保存函数给的数据
    比如执函行数foo(1000)后,1000这个值就没有办法保存到内存中了
2.闭包能保存功能,也可以保存数据
    当执行fun(100)后,还可以在内存中保存100这个数据。

闭包的使用:

def outer(number):
    def inner(i_num):
        print("内部函数传递的参数",i_num)
        print("内部函数使用了外部函数的变量或者参数%d" %number)

    return inner

#闭包的使用
f=outer(100)
f("你好")
f(20)

输出:

内部函数传递的参数 你好
内部函数使用了外部函数的变量或者参数100
内部函数传递的参数 20
内部函数使用了外部函数的变量或者参数100

猜你喜欢

转载自blog.csdn.net/myq151/article/details/82291057