def createCounter():
x = 0
def counter():
nonlocal x#这里nonlocal声明之后,x的地址和前边x=0是一样的
x += 1
return x
return counter
#每次调用createCounter函数时,才会从x=0处开始执行,即x的值才会被覆盖
#counterA = createCounter()之后,每次调用counterA实际上就是调用counter函数,只进行counter内部的内容,x不会被X=0覆盖
Sign in to make a reply
有福气的小羊
def createCounter():
x = 0
def counter():
nonlocal x#这里nonlocal声明之后,x的地址和前边x=0是一样的
x += 1
return x
return counter
#每次调用createCounter函数时,才会从x=0处开始执行,即x的值才会被覆盖
#counterA = createCounter()之后,每次调用counterA实际上就是调用counter函数,只进行counter内部的内容,x不会被X=0覆盖