84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
def f(p, k): def g(): print(k) if k == 0: f(g, 1) else: p() f(None, 0)
我觉得在f(None, 0)执行后,执行到f(g, 1)后k应该是1,但为什么执行还是0.
f(None, 0)
f(g, 1)
k
1
0
认证高级PHP讲师
这应该属于闭包,我们可以把这段函数改一下
def f(k): def g(): print(k) return g a = 1 x = f(a) a = 2 x() # 打印出 # 1
这样会不会更好理解一些呢可以看看这篇博客,他在底层说明了闭包的原理Python闭包详解
这应该属于闭包,我们可以把这段函数改一下
这样会不会更好理解一些呢
可以看看这篇博客,他在底层说明了闭包的原理Python闭包详解