首页 / PYTHON / Python的闭包使用
Python的闭包使用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python的闭包使用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含756字,纯文字阅读大概需要2分钟。
内容图文
当函数存在嵌套,并且子函数引用了父函数中的变量,可以访问这些变量的作用域就形成了闭包,但是如果子函数没有访问父函数中的变量,就不存在闭包.
def count(): fs = [] for i in range(1, 4): def f(): return i*i fs.append(f) return fs f1, f2, f3 = count()#f1(), f2(), f3()都是9
原式子中, i 并没有在f函数里面定义,而是去找的父函数的i变量,所以f和外部i构成闭包,i在range最后的取值为3,所以return fs的时候,闭包里面i的值基本确定了,每次调用的结果都是9.
def func(): fs = [] for i in range(1, 4): def inner(j = i):#把中间值保存下来,所以返回的是,1 4,9 return j*j fs.append(inner) return fs f1, f2, f3 = func() print(f1(), f2(), f3())
def func(): fs = [] for i in range(1, 4): def inner(x):#返回匿名函数 return lambda x: x*x fs.append(inner(i)) return fs f1, f2, f3 = func() print(f1(), f2(), f3())
内容总结
以上是互联网集市为您收集整理的Python的闭包使用全部内容,希望文章能够帮你解决Python的闭包使用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。