>>> def counter(start_at=0):
... count = [start_at]
... def incr():
... count[0] += 1
... return count[0]
... return incr
...
>>> count = counter(7)
>>> print count()
8
>>> print count()
9
上面的代碼運行良好。我明白。但我認爲下面的代碼應該與上面相同。下面的代碼很奇怪
>>> counter(7)()
8
>>> counter(7)()
8
那麼,它的行爲不像打印計數()。爲什麼?
-1爲標題,請閱讀http://msmvps.com/blogs/jon_skeet/archive/2010/08 /29/writing-the-perfect-question.aspx – reto