def fun2():
count = 0
def fun3():
nonlocal count
count += 1
return count
return fun3
val = fun2()
print(val()) # 1
# 内部函数修改外部变量的值,用nonlocal
本文探讨了Python中nonlocal关键字的使用,特别是在嵌套函数内修改外部变量的场景。通过一个具体示例,展示了如何利用nonlocal实现内部函数对外部变量的修改,这对于理解和编写复杂的函数式编程结构至关重要。
def fun2():
count = 0
def fun3():
nonlocal count
count += 1
return count
return fun3
val = fun2()
print(val()) # 1
# 内部函数修改外部变量的值,用nonlocal
1144
5909

被折叠的 条评论
为什么被折叠?