请问该如何解释闭包以及下面的例子?
如果是这种情况的话,会打印678,但如果把print(a())改成print(funX()())的话,就会打印666,请问大佬们这应该怎么解释?def funX():
x = 5
def funY():
nonlocal x
x += 1
return x
return funY
a = funX()
print(a())
print(a())
print(a())
没有引用计数,funX().__closure__的内存被回收了
a = funX()a.__closure__留存了下来
kogawananari 发表于 2021-3-25 01:03
没有引用计数,funX().__closure__的内存被回收了
a = funX()a.__closure__留存了下来
感谢解答!
页:
[1]