1、什么是闭包?
闭包其实就是一个函数
2、如何创建闭包?
a.要有函数的嵌套(外部函数、内部函数共存)
b.外部函数必须有返回值,返回内部函数名
c.内部函数中要使用外部函数的参数
3、如何使用闭包?
#普通函数,求两个数之和
def sum(x,y):
return x*y
#使用闭包,求两个数之和
def funOut(num1):
def funIn(num2):
return num1+num2 #内部函数使用了外部函数的变量num1
return funIn #外部函数的返回值为内部函数名
#调用外部函数返回内部函数名
f=funOut(100)
#再调用返回的内部函数名
res=f(100)
print('闭包两数之和:',res)
#使用闭包,求两个数之和
def funOut(num1):
def funIn(num2):
nonlocal num1 #如果内部函数要修改外部函数的变量值,需要关键字nonlocal声明外部函数的变量
num1+=100 #内部函数使用了外部函数的变量num1
return num1+num2 #外部函数的返回值为内部函数名
return funIn
f=funOut(100)
res=f(100)
print(res)
闭包的定义及使用
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 倒计时: new Date(); 实际开发中时间从服务器获取 window.onload = function...
- 时钟 window.onload = function(){ var oBox = document.getEle...