约 172 字 预计阅读 1 分钟
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# 闭包: 一个函数里面嵌套一个函数,调用外层函数返回里层函数本身
#1.
def fx(x):
x+=1
def fy(y):
return x*y
return fy #不要加括号
f=fx(5) #拿到fy的函数体
n = f(5) #fy()
print(n)
#2.传进去的参数为函数体
def f1(func):
print('f1 runing')
def f2(y):
print('f2 running')
return func(y) +1
return f2
def gun(m):
print('gun runing')
return m*m
temp = f1(gun) # 返回f2函数体 # f1 runing -> f2 ->temp
n= temp(5) # f2( 5) -> ' f2 running ' -> return func(y) +1
# func(y) === gun(m) -> gun runing -> 5*5
# return 25 +1 -> 26
print(n)
|