国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > Python常见问题 > 什么是python的闭包

什么是python的闭包

头像

silencement

2019-12-20 14:09:566244浏览 · 0收藏 · 0评论

定义闭包,维基百科上的解释是:

在计算机科学中,闭包(Closure)是词法闭包(Lexical Closure)的简称,是引用了自由变量的函数。这个被引用的自由变量将和这
个函数一同存在,即使已经离开了创造它的环境也不例外。所以,有另一种说法认为闭包是由函数和与其相关的引用环境组合而成的实
体。

这里的 another 就是一个闭包,闭包本质上是一个函数,它有两部分组成,printer 函数和变量 msg。闭包使得这些变量的值始终保存在内存中。

闭包,顾名思义,就是一个封闭的包裹,里面包裹着自由变量,就像在类里面定义的属性值一样,自由变量的可见范围随同包裹,哪里可以访问到这个包裹,哪里就可以访问到这个自由变量。

更多学习内容,请点击python学习网

函数身为第一类对象,它可以作为函数的返回值返回,现在我们来考虑如下的例子:

def print_msg():
    # print_msg 是外围函数
    msg = "zen of python"
    def printer():
        # printer 是嵌套函数
        print(msg)
    return printeranother = print_msg()# 输出 zen of pythonanother()

这段代码和前面例子的效果完全一样,同样输出 "zen of python"。不同的地方在于内部函数 printer 直接作为返回值返回了。

一般情况下,函数中的局部变量仅在函数的执行期间可用,一旦 print_msg() 执行过后,我们会认为 msg变量将不再可用。然而,在这里我们发现 print_msg 执行完之后,在调用 another 的时候 msg 变量的值正常输出了,这就是闭包的作用,闭包使得局部变量在函数外被访问成为可能。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

蜜桃| 女性私处长得不漂亮的原因| 国产精品国内自产拍在线播放| 成色18K1.220.38软件| 少女与狗2在线观看免费版高清| 欧美多人| 俄罗斯少女2免费观看| 半推半就干朋友老婆下一句怎么接 | 停电后我和公做了爱| 51今日大瓜 每日大赛往期内容| 《丰满人妻的滋味2HD| 妈妈的绣感| 法国色情巜做爰狂欲| 《丰满的女邻居》播放| REAL529| 刘老汉的儿媳小雪的背景资料| B站暴躁女RAPPER| 原声吻戏视频| 鸭王在线观看| 腿张开我要添到你高潮H漫画软件| 秘书奶头好大下面好紧| 《法国空乘5》观看| 初恋时间1-6集免费观看动漫| 交换第一次| 《疯狂72小时》韩剧| 蜜桃浏览器| 邱莹莹第一次| 18岁免费观看高清电视剧推荐| 小妖精你真要我的命| 游戏王卡| 少女配狗播放视频| 姨母妈9| 姐姐片多多免费高清电视剧叶玉卿 | 《办公室高潮秘书2》电影| 黑料门今日黑料最新| 胡乱说深见君| 欧美大片PPT免费PPT| 何以笙默床戏| 狗配人的大片| 《法国空乘4》在线观看| X7X7X7任意噪1060