当内部函数对外部函数的变量(非全局变量)进行了引用,则内部函数被称之为闭包
举个栗子:
调用:
c = outter(5) # 返回 inner这个函数名,即c = inner
c(6) # 即inner(6),结果是30
常见错误:
解决办法:
添加nonlocal关键字(限python3)
python2的解决办法:
将a定义成列表[5]
感谢小甲鱼的教程,进一步了解了闭包。
当内部函数对外部函数的变量(非全局变量)进行了引用,则内部函数被称之为闭包
举个栗子:
调用:
c = outter(5) # 返回 inner这个函数名,即c = inner
c(6) # 即inner(6),结果是30
常见错误:
解决办法:
添加nonlocal关键字(限python3)
python2的解决办法:
将a定义成列表[5]
感谢小甲鱼的教程,进一步了解了闭包。