a = fun1(),是调用f1, 所以a是函数fun2 多次调用f1()(),每次x都重置.但是多次调用f2, 没有重置所以会变化 def fun1():x = 5def fun2():nonlocal xx += 1return xreturn fun2print(fun1()())print(fun1()())print()a = fun1()print(a())print(a())print()b = fun1print...
python闭包问题求解!
a = fun1(),是调用f1, 所以a是函数fun2
多次调用f1()(),每次x都重置.
但是多次调用f2, 没有重置所以会变化
def fun1():x = 5def fun2():nonlocal xx += 1return xreturn fun2print(fun1()())print(fun1()())print()a = fun1()print(a())print(a())print()b = fun1print(b()())print(b()())print()6667662019-05-11