摘要:
首先声明,我用的是2.7.1版本的CPython。第一个问题,闭包中的upvalue不可修改: 1 def foo(): 2 i = 0 3 def _foo(): 4 i += 1 5 print i 6 return _foo 7 8 f = foo() 9 f()10 f()11 f()错误:local variable 'i' referenced before assignment可以理解,不用global关键字的话,修改全局变量也会遇到问题。因此这个问题其实是不能修改所有外层变量。python3引入了nonlocal来处理这... 阅读全文
posted @ 2012-01-12 19:35
Scan.
阅读(1396)
评论(0)
推荐(1)

浙公网安备 33010602011771号