def createCounter(): count = 0 def counter(): nonlocal count count +=1 return count 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('测试失败!')
python的变量的作用域是在运行时确定的。模块层次的变量为全局变量,模块内的函数或类对模块的全局变量只有读取权限。如需修改,得使用global 、nonlocal关键字修饰
Sign in to make a reply
よろしく
python的变量的作用域是在运行时确定的。模块层次的变量为全局变量,模块内的函数或类对模块的全局变量只有读取权限。如需修改,得使用global 、nonlocal关键字修饰