python 函数--闭包函数
2024-09-05 01:09:00
一、闭包函数:
在一个外函数中定义一个内函数,内函数里运用了外函数的临时变量,并且外函数的返回值是内函数的引用。
二、实例:
def outer(a): #外函数
b = 10 #临时变量
def inner(): #内函数
print(a+b)
return inner if __name__ == "__main__":
demo = outer(5) #调用外函数传入值
demo() #15
#内部函数调用外部函数变量,相当于执行inner函数
demo1 = outer(7)
demo1() #
三、闭包函数修改外函数局部变量:
nonlocal是python3中的语法
def outer(x):
def inner(y):
nonlocal x #nonlocal选取全局变量。
x += y
return x
return inner a = outer(10)
print(a(10))
print(a(600))
四、使用
1、可以当成装饰器使用
2、实现单利模式
引用:https://www.cnblogs.com/Lin-Yi/p/7305364.html
最新文章
- Unity3D安卓打包参数配置与兼容性的关系分析
- dedecms /member/edit_baseinfo.php SQL Injection Vul
- [翻译]Understanding Weak References(理解弱引用)
- Effective Java 61 Throw exceptions appropriate to the abstraction
- 我的Android最佳实践之—— 常用的Intent.Action(转)
- cf C. Dominoes
- MobileOA第一期总结
- node-xlsx
- 用wrk测试nginx/ndoejs/golang
- xterm配置
- jquery,html5,css3主要特性总结
- Linux:固定 ip
- rpm包安装的nginx热升级
- cocos2dx 3.x(打开网页webView)
- XML随笔:语法快速入门及当下流行的RSS简析
- java基础篇---异常处理
- Linux入门第五天——shell脚本入门(中)基础语法之判断与条件
- # 20155224 实验五 Java网络编程及安全
- 转 - 使用from __future__ import unicode_literals时要注意的问题
- mysq exists和in