def createCounter(): a=0 def counter(): nonlocal a #声明a不只是在嵌套函数里面有效,而是在整个大函数里面有效 a=a+1 return a return counter
#闭包例子
def count(): def f(j): return lambda i=j:i**2 fs=[] for i in range(1,4): fs.append(f(i)) return fs f1,f2,f3=count() print(f1(),f2(),f3())
Sign in to make a reply
奇妙能力le
def createCounter(): a=0 def counter(): nonlocal a #声明a不只是在嵌套函数里面有效,而是在整个大函数里面有效 a=a+1 return a return counter
def count(): def f(j): return lambda i=j:i**2 fs=[] for i in range(1,4): fs.append(f(i)) return fs f1,f2,f3=count() print(f1(),f2(),f3())