首页 > 编程语言 > 详细

python基础之闭包

时间:2021-04-19 14:48:06      阅读:15      评论:0      收藏:0      [点我收藏+]

闭包的概念和特点:
1、函数的嵌套
2、内部函数使用了外部变量
3、内部函数的方法名被外部函数返回

一、初识闭包

def func():
    a = 100

    def inner_func():
        print("this is inner_func")
        print(a)

    print(inner_func)

    return inner_func


t = func()
print(t)

上述例子,inner_func()的函数名被func作为返回值返回,且内部函数使用了外部变量a,符合闭包的特征。执行结果如下:

<function func.<locals>.inner_func at 0x000002163C25C040>
<function func.<locals>.inner_func at 0x000002163C25C040>

我们可以看到,t和内部函数指向同一块内存地址。

二、带参数的闭包

def func(m, n):
    a = 100

    def inner_func():
        print("this is inner_func")
        print(a+m+n)

    print(inner_func)

    return inner_func


t = func(100, 200)
print(t)
t()

 

python基础之闭包

原文:https://www.cnblogs.com/ctltest/p/14676270.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!