关于闭包需要注意的几点
def createcounter(): i=[0] def counter(): i[0]=i[0]+1 return i[0] return counter a1=createcounter() a1()
利用闭包返回一个计数器函数,每次调用它返回递增整数
1.内部函数只能调用外部函数的参数,但无法修改外部函数的参数,修改只在内部函数作用域内有效
2.外部定义的s为数list,list本身没有变化,变化的是list的第一个元素s[0]
3.不要再内部函数修改外部函数的变量如需修改可以申明变量为nonlocal
浙公网安备 33010602011771号