python个人学习——返回函数(闭包)
2020-05-15 本文已影响0人
布织岛
利用闭包返回一个计数器函数,每次调用它返回递增整数:
代码:
def createCounter():
L=[0]
def counter():
L[0]=L[0]+1
return L[0]
return counter
#测试
counterA = createCounter()
print(counterA(), counterA(), counterA(), counterA(), counterA()) # 1 2 3 4 5
counterB = createCounter()
if [counterB(), counterB(), counterB(), counterB()] == [1, 2, 3, 4]:
print('测试通过!')
else:
print('测试失败!')